Neste projeto, foi desenvolvida uma API para simular uma loja de itens medievais utilizando Typescript.
Foram desenvolvidas todas as camadas da aplicação (Models, Service e Controllers), e por meio dessa aplicação, será possível realizar as operações básicas que se pode fazer em um determinado banco de dados: Criação, Leitura, Atualização e Exclusão (ou CRUD, para as pessoas mais íntimas - Create, Read, Update e Delete). O REST foi feito utilizando MySql.
Ver rotas
- POST
/products
para cadastrar novo produto. Utilize um body nesse formato:
{
"name": "Adaga misteriosa",
"amount": "26 peças de ouro"
}
- POST
/users
para criar um novo usuário. Utilize um body nesse formato:
{
"username": "Arthur",
"classe": "swordsman",
"level": 10,
"password": "kingArthur"
}
- POST
/login
para fazer login e receber um token. Utilize um body nesse formato:
{
"username": "yourUser",
"password": "yourPassword"
}
- POST
/orders
para adicionar um novo pedido, o usuário precisa estar logado. Utilize um body nesse formato:
{
"productsIds": [1, 2]
}
- GET
/products
para listar todos os produtos.
- GET
/orders
para listar todos os pedidos.
Pré-requisitos
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas:
É recomendado utilizar algum cliente HTTP, como Postman ou o Insomnia.
Também é bom ter um editor para trabalhar com o código como VSCode
1- Clonar o repositorio
git clone git@github.com:TonyyCruz/trybesmith.git
🐳 Rodando no Docker
Rode o serviço node
com o comando
docker-compose up -d
- Esse serviço irá inicializar dois containers chamados
trybesmith
e outro chamadotrybesmith_db
.- A partir daqui você pode rodar o container via CLI ou abri-lo no VS Code.
Via CLI use o comando
docker exec -it trybesmith bash
- Ele te dará acesso ao terminal interativo do container trybesmith criado pelo compose, que está rodando em segundo plano.
Instale as dependências dentro do container
com
npm install
💻 Rodando Localmente
Instale as dependências com o comando
npm install
- Para rodar o projeto desta forma, obrigatoriamente você deve ter o
node
instalado em seu computador.- Recomenda-se a versão
^16
- Recomenda-se a versão
Scripts
- Criar o banco de dados e gerar as tabelas:
npm run dbcreate
- Iniciar o servidor Node:
npm start
- Iniciar o servidor Node com nodemon:
npm run dev