Skip to content

Este projeto consistiu na criação de uma api de manipulação de dados de itens medievais, utilizando Node,Typescript e Sequelize.

Notifications You must be signed in to change notification settings

SamuelRocha91/TrybeSmith

Repository files navigation

Node Logo Projeto Trybe Smith Node Logo

🌐 Português Español English Русский 中文 العربية

Preview da aplicação

📜 Descrição

Trata-se de um projeto avaliativo desenvolvido no módulo de BackEnd do curso de Desenvolvimento Web da Trybe. O projeto envolveu o uso de Typescript, Sequelize e JWT. Durante o desenvolvimento, diversas competências foram aprimoradas:

  • Manipulação de testes
  • Uso da arquitetura MSC (Model-Service-Controller)
  • Criação de rotas para criação, leitura e atualização de informações
  • Autenticação de rotas

Este projeto consistiu na criação de uma loja de itens medievais utilizando Typescript e Sequelize. O foco principal foi no desenvolvimento das camadas de Service e Controllers.

🛠️ Tecnologias Utilizadas

  • Node.js
  • Express
  • Typescript
  • Sequelize
  • MySQL
  • JWT (JSON Web Token)
  • Docker e Docker Compose

📂 Estrutura do Projeto

O projeto está estruturado de acordo com a arquitetura MSC, onde as responsabilidades são separadas entre Model, Service e Controller. A seguir, estão algumas das principais rotas implementadas:

Rotas

  • POST /login: Realiza o login do usuário.
  • POST /products: Adiciona um novo produto (valida nome e preço).
  • GET /products: Retorna todos os produtos cadastrados.
  • GET /orders: Retorna todos os pedidos cadastrados.
  • POST /orders: Cria um novo pedido (valida JWT, ID do usuário e ID do produto).

Middlewares

O projeto utiliza diversos middlewares para validação, incluindo:

  • validateProducts: Valida os dados do produto (nome e preço).
  • validateUser: Valida os dados do usuário.
  • validateProductById: Valida a existência do produto pelo ID.
  • validateJWT: Valida o token JWT para autenticação.

🚀 Execução do Projeto

Para executar o projeto, siga os passos abaixo:

Pré-requisitos

  • Ter o Docker e Docker Compose instalados.
  • Ter o Node.js instalado (opcional, se você deseja executar localmente sem Docker).

Passos para Execução

  1. Clone o repositório:

    git clone https://github.com/seu_usuario/trybe-smith.git
    cd trybe-smith
  2. Crie um arquivo .env na raiz do projeto com as seguintes variáveis de ambiente:

    DB_USER=root
    DB_PASSWORD=password
    DB_HOST=db
    DB_PORT=3306
    DB_NAME=Trybesmith
    JWT_SECRET=secret
    
  3. Execute o Docker Compose para construir e iniciar os containers:

    docker-compose up --build
  4. Acesse a API no seu navegador ou ferramenta de API (como Postman) em http://localhost:3001.

🔗 Outros projetos

About

Este projeto consistiu na criação de uma api de manipulação de dados de itens medievais, utilizando Node,Typescript e Sequelize.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages