Skip to content

Projeto criado para exercitar os conhecimentos sobre types e interfaces do Typescript, além da implementação de middleware de erros e os conceitos da arquitetura MSC (Model, Service e Controller).

Notifications You must be signed in to change notification settings

fa-biano/trybesmith

Repository files navigation

🔨 Projeto TrybeSmith

Nesse projeto foi desenvolvida uma API para leitura e escrita de produtos e pedidos utilizando o Typescript.

O objetivo principal foi de exercitar os conhecimentos sobre types e interfaces do Typescript, além da implementação de middleware de erros e os conceitos da arquitetura MSC (Model, Service e Controller).

O desenvolvimento desse projeto foi realizado durante o curso de Desenvolvimento Web na Trybe!

Como utilizar:

Clone o repositório: git clone git@github.com:fa-biano/trybesmith.git.

Rodando com Docker 🐳 ou Localmente

👉 Com Docker

⚠ Antes de começar, seu docker-compose precisa estar na versão 1.29 ou superior. Veja aqui ou na documentação como instalá-lo. No primeiro artigo, você pode substituir onde está com 1.26.0 por 1.29.2.

Rode o serviço node com o comando docker-compose up -d.

  • Esse serviço irá inicializar um container chamado trybesmith e outro chamado trybesmith_db.
  • A partir daqui você pode rodar o container via CLI ou abri-lo no VS Code.

ℹ️ Use o comando docker exec -it trybesmith bash.

  • Ele te dará acesso ao terminal interativo do container criado pelo compose, que está rodando em segundo plano.

ℹ️ Instale as dependências [Caso existam] com npm install

  • ⚠ Atenção: Caso opte por utilizar o Docker, TODOS os comandos disponíveis no package.json (npm start, npm test, npm run dev, ...) devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comando docker exec citado acima.

👉 Sem Docker

ℹ️ Instale as dependências [Caso existam] com npm install

  • Dica: Para rodar o projeto desta forma, obrigatoriamente você deve ter o node instalado em seu computador.
  • Dica: O projeto espera que a versão do node utilizada seja a 16.

Inicializando:

ℹ️ Após seguir os passos de como rodar o projeto citados acima Renomeie o arquivo .env.example para .env.

Instale as dependências npm install

Suba os containers do docker compose docker compose up -d

Acesse o container node que está rodando em segundo plano docker exec -it trybesmith bash

Dentro do container:

  • Instale as dependências npm install

  • Inicie o servidor: npm start

Para criar a estrutura básica do Banco de Dados:

  • Copie o conteúdo do arquivo Trybesmith.sql para um SGBD (Sistema Gerenciador de Banco de Dados), exemplo MySql Workbench. E execute todas as queries.

📭 Rotas:

O projeto está rodando na porta 3000. Seguem as rotas que podem ser acessadas:

/login:
- POST: realiza login para usuário existente;

/users:
- POST: registra novo usuário;

/products:
- POST: cria novo produto;
- GET: lista os produtos cadastrados;

/orders:
- GET: lista todos os pedidos; - POST: cria novo pedido para determinada lista de produtos;

Utilize o seu client preferido para testar as rotas acima.

🔥 Tecnologias utilizadas:

Back-end: Node.js, Typescript, Express e JWT (jsonwebtoken) para Autenticação
Banco de Dados: SQL MySQL
Arquitetura: MSC (Model, Service, Controller)

About

Projeto criado para exercitar os conhecimentos sobre types e interfaces do Typescript, além da implementação de middleware de erros e os conceitos da arquitetura MSC (Model, Service e Controller).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published