🕹️ API REST Loja de Games Online
🔖 Sobre
Projeto de uma API REST simples de uma loja de games online desenvolvido com Node.js para fins de aprendizagem dos conceitos de SOLID, Clean Architecture e TDD
💥 Utilização
-
👉 Pré-requisitos
-
Faça o clone do repositório:
$ git clone https://github.com/Pedro-Manoel/api-rest-loja-games-online.git
-
Entre na pasta do projeto:
$ cd api-rest-loja-games-online
-
Configure a aplicação criando um arquivo
.env
, atribuindo o devido valor as seguintes variáveis:# Prisma DATABASE_URL="postgresql://docker:docker@localhost:5432/app_loja_games?schema=public" DATABASE_URL_TEST="postgresql://docker:docker@localhost:5432/app_loja_games_test?schema=" # App NODE_ENV= PORT= TOKEN_KEY= # Database DATABASE_HOST=localhost DATABASE_PORT=5432 DATABASE_USER=docker DATABASE_PASS=docker DATABASE_NAME=app_loja_games
-
Execute o seguinte comando para fazer o download das dependências da aplicação:
$ yarn
-
Execute o seguinte comando para criar e executar o container no docker:
$ docker compose up -d
-
Execute o seguinte comando para criar as tabelas no banco de dados
$ yarn prisma migrate dev
-
Execute o seguinte comando para executar a aplicação:
$ yarn dev
-
Execute o seguinte comando para executar os testes da aplicação:
$ yarn test
🚀 Tecnologias
- Acesso e controle do banco de dados com prisma
- Testes de unidade com jest
- Testes de integração com supertest
- Injeção de dependência com tsyringe
- Upload de arquivos com multer
- Autenticação de usuários com jsonwebtoken
- Verificação de lint com eslint
- Correção de código com prettier
✅ Testes
🔰 Rotas
/users
🚏 /
POST : criar um usuário./
PUT : atualizar um usuário./
DELETE : remover um usuário./sessions
POST : cria uma sessão para um usuário.
/games
🚏 /
POST : criar um game./{id}
PUT : atualizar um game./{id}
DELETE : remover um game./{id}/image
PATCH : atualizar a imagem de um game.
/purchases
🚏 /
POST : criar uma compra de um game.
📃 Licença
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.