Skip to content

Neste projeto, foi desenvolvida uma API para simular uma loja de itens medievais utilizando Typescript.

Notifications You must be signed in to change notification settings

TonyyCruz/trybesmith

Repository files navigation

Projeto Trybesmith Api

Neste projeto, foi desenvolvida uma API para simular uma loja de itens medievais utilizando Typescript.



📃 Sobre o Projeto

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.


Rotas utilizáveis

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.

🛠 Tecnologias e Bibliotecas utilizadas no desenvolvimento do projeto


🚀 Como executar o projeto

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

Com Docker

Rode o serviço node com o comando

  docker-compose up -d
  • Esse serviço irá inicializar dois containers chamados trybesmith e outro chamado trybesmith_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

⚠️Atenção: Caso opte por utilizar o Docker, TODOS os scripts disponíveis no package.json devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comando docker exec.


💻 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

⚠️Atenção: Não esqueça de renomear/configurar o arquivo .env example


💡 Scripts prontos

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


🎲 Diagrama Entidade Relacionamento do projeto

O banco de dados do projeto segue a estrutura abaixo:

About

Neste projeto, foi desenvolvida uma API para simular uma loja de itens medievais utilizando Typescript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published