O foco principal deste projeto é, com base nos ensinamentos da Trybe, desenvolver uma API para gerenciar uma loja de itens medievais, utilizando TypeScript e o ORM Sequelize. A aplicação foi construída com foco em operações de CRUD (Create, Read, Update, Delete) para produtos e pedidos, seguindo a arquitetura MSC (Model-Service-Controller).
O que é a Trybe?🤔
A Trybe é uma escola de desenvolvimento web genuinamente comprometida com o sucesso profissional de seus estudantes. Com o Modelo de Sucesso Compartilhado (MSC) oferecido pela Trybe Fintech, uma instituição financeira autorizada pelo Banco Central do Brasil, os alunos têm a opção de pagar apenas quando estiverem trabalhando.Algumas rotas da API requerem autenticação via JWT (JSON Web Token) para garantir a segurança e controle de acesso. Além disso, foram implementados testes automatizados para cobrir as funcionalidades das camadas Service e Controller, garantindo um alto nível de qualidade no código e corretude das operações.
A API permite o cadastro de produtos, listagem de pedidos, login de usuários, e todas as operações são integradas ao banco de dados por meio do Sequelize, que facilita a comunicação com o MySQL. A lógica do sistema também garante que cada produto tenha um pedido único, reforçando o conceito de itens exclusivos e artesanais.
- Cadastro de novos produtos no banco de dados.
- Listagem de todos os produtos cadastrados.
- Listagem de pedidos, incluindo os produtos associados a cada pedido.
- Autenticação de usuários com JWT e validação de credenciais no banco de dados.
- Node.js - Plataforma para execução do JavaScript no servidor.
- TypeScript - Superset do JavaScript que adiciona tipagem estática ao código.
- Express - Framework para construir APIs com Node.js.
- Sequelize - ORM para interagir com o banco de dados MySQL de forma fácil e eficiente.
- MySQL - Banco de dados relacional utilizado para armazenar informações de produtos e pedidos.
- JWT (JSON Web Token) - Ferramenta para geração de tokens de autenticação.
- Mocha - Framework de testes para JavaScript.
- Chai - Biblioteca de asserções para testes, utilizada em conjunto com o Mocha.
- Sinon - Ferramenta para criação de mocks, stubs e spies em testes.