O Trybesmith é uma API RESTful em TypeScript para o gerenciamento de uma loja de itens medievais. A API possibilita criar e logar usuários e cadastrar e listar produtos e pedidos. A API foi desenvolvida seguindo a arquitetura em camadas MSC e utiliza o MySQL como banco de dados.
O projeto foi desenvolvido durante o módulo de back-end na Trybe.
- Desenvolvido com TypeScript;
- Commits seguindo a prática de Conventional Commits;
- Utilização do Docker para criar o ambiente de desenvolvimento;
- Criação de endpoints utilizando o framework Express.JS e a aplicação do padrão REST;
- Aplicação da arquitetura em camadas - model, service e controller;
- Validações de campos de usuários, produtos e pedidos utilizando a biblioteca Joi;
- Utilização do JSON Web Token para geração de token ao efetuar login e criar usuário;
- Middleware para a autenticação do token do usuário para permitir acesso às rotas;
- Conexão e gerenciamento do banco de dados com MySQL.
- Clone o repositório:
git clone git@github.com:andre-usf/trybesmith-project.git
- Entre no diretório criado:
cd trybesmith-project
- Inicie o docker compose:
docker-compose up -d
- Acesse o terminal dentro do container:
docker exec -it trybesmith bash
- Instale as dependências:
npm install
- Inicie a aplicação:
npm run restore && npm run dev
Obs.: Para rodar a aplicação sem Docker, você deverá garantir acesso ao MySQL e configurar as variáveis de ambiente.
- Siga os passos 1 e 2 da seção anterior.
- Instale as dependências:
npm install
- Inicie a aplicação:
npm run restore && npm run dev