Este projeto consiste em uma loja de itens medievais no formato de uma API de Node.js
com Express
, utilizando Typescript
e Sequelize
seguindo o modelo MSC
. Sendo possível cadastrar um produto, listar todos produtos, listar usuários com seus respectivos produtos através do relacionamento 1:N
e uma rota de login para obter autenticação com JWT
. A aplicação também possui uma boa cobertura de testes, com testes de integração
e testes unitários
.
Rode o projeto localmente
⚠️ É preciso ter o Node instalado em sua máquina.
- Clone o repositório:
git clone git@github.com:mairess/project-trybesmith.git
- Instale as dependências:
npm install
- Inicie o container do banco de dados:
docker compose up -d db
- Crie o banco, rode as migrations e os seeders:
npm run db:reset
- Inicie o servidor:
npm run dev
- O servidor estará disponível na porta
3001
Rode o projeto com o docker
⚠️ É preciso ter o Docker instalado em sua máquina.
- Clone o repositório:
git clone git@github.com:mairess/project-trybesmith.git
- Suba os containers:
docker compose up -d
- Crie o banco, rode as migrations e os seeders:
npm run db:reset
- O servidor estará disponível na porta
3001
Rode os testes
Rode os testes com:
npm run test:local
Rode a cobertura:
npm run test:coverage
A documentação desta api está disponível na rota /api-docs
- Typescript
- Node
- Express
- Sequelize
- MySQL
- JWT
- Bcrypt
- Joi
- Docker
- Mocha
- Chai
- Sinon
- Swagger-ui