Skip to content

API RESTful para o gerenciamento de itens e de vendas em uma loja medieval dentro de um jogo

Notifications You must be signed in to change notification settings

joaoespacheco/Trybe-Project-27-trybesmith

Repository files navigation

TrybeSmith ⚒️

📄 Sobre:

Projeto desenvolvido durante o módulo de back-end do curso de desenvolvimento web da Trybe.

Neste projeto foi desenvolvida uma API RESTful de gerenciamento de items e vendas em uma loja medieval de um jogo. O desenvolvimento foi feito utilizando TypeScript e arquitetura MSC (model-service-controller).

Para a aplicação foi utilizado um banco de dados MySQL.

Para as funções de autenticação foi utilizado a ferramenta JSON Web Token.


Desempenho Aprovado com 100% de desempenho em todos os requisitos

image

Requisitos
Requisitos obrigatórios:
1. Crie um endpoint para o cadastro de produtos
2. Crie um endpoint para a listagem de produtos
3. Crie um endpoint para o cadastro de pessoas usuárias
4. Crie um endpoint para listar todos os pedidos
5. Crie um endpoint para o login de pessoas usuárias

Requisitos bônus:
6. Crie as validações dos produtos
7. Crie as validações para as pessoas usuárias
8. Crie um endpoint para o cadastro de um pedido

Diagrama Entidade-Relacionamento

image


⚙️ Execução

Para executar a aplicação inicie realizando o clone deste repositório com o comando abaixo.

git clone [email protected]:joaoespacheco/Trybe-Project-27-trybesmith.git

Navegue até a raíz do projeto.

cd Trybe-Project-27-trybesmith/

Uma vez na raiz do projeto, execute o comando abaixo para instalar as dependências do projeto.

npm install

Rodando a aplicação com o Docker

Na pasta app do projeto, suba o container talker_manager utilizando o docker-compose.yml. Utilize o comando abaixo.

docker-compose up -d

Entre no terminal do container

docker exec -it trybesmith bash

Caso não tenha instalado anteriormente, uma vez no terminal do container, execute o comando abaixo para instalar as dependências do projeto.

npm install

Para iniciar o servidor utilize o seguinte comando no terminal do container

npm run start

Para iniciar o servidor no modo de desenvolvimento utilize o seguinte comando no terminal do container

npm run dev

↪️ Rotas:

A documentação referente as rotas foi confeccionada utilizando a ferramenta Swagger/OpenAPI e pode ser visualizada de duas maneiras:

Acessando as informações das rotas localmente:

A documentação das rotas pode ser acessada após iniciar a aplicação localmente de acordo com as instruções da seção anterior chamada "Execução".

Para visualizar as rotas e testar as requisições você pode utilizar a rota http://localhost:3000/api-docs. Caso preferir, você também pode utilizar um cliente de requisições HTTP de sua preferência (Insomnia, Thunder Client, etc) para realizar os testes.

Acessando as informações das rotas online:

Para visualizar as rotas você pode utilizar a plataforma Swagger Viewer clicando aqui.


🤹🏽 Habilidades Desenvolvidas:

  • Criar uma aplicação utilizando Express.js e TypeScript
  • Utilizar recursos como classes, interfaces, types entre outros
  • Criar uma API RESTful utilizando arquitetura MSC (Model-Service-Controller)
  • Validar os dados das requisições utilizando a biblioteca Joi
  • Implementar autenticação via token utilizando JSON Web Token

🧰 Ferramentas:

  • TypeScript
  • Node.js
    • Express.js
    • Express Async Errors
  • DotEnv
  • Joi
  • MySQL
  • JSON Web Token
  • Docker

📝 Desenvolvido por:

About

API RESTful para o gerenciamento de itens e de vendas em uma loja medieval dentro de um jogo

Topics

Resources

Stars

Watchers

Forks