Skip to content

Trabalho sobre API Rest que representará a avaliação N3, da faculdade CESUSC - Linguagem de Programação II

Notifications You must be signed in to change notification settings

BenoGustavo/ecommerce-api-verceldeploy

 
 

Repository files navigation

E-commerce API 💹

Como rodar a API via Docker 🐳

Copie o arquivo de referencia .env-example e crie seu proprio .env.

Requisitos:

  • DockerEngine
  • Node.js
  • NPM

Depois no seu terminal faça:

npm install && npm run make-url -- docker && docker compose up --build

A URL da API deve aparecer no seu terminal quando a execução da aplicação acontecer

Como rodar a API nativamente 💻

Copie o arquivo de referencia .env-example e crie seu proprio .env.

Requisitos:

  • PostgreSQL
  • Node.js
  • NPM

Primeiramente suba seu banco de dados, depois execute os seguintes comandos no seu terminal:

npm install && npm run make-url -- native && npx prisma migrate dev && npx prisma generate && npm run start:dev 

A URL da API deve aparecer no seu terminal quando a execução da aplicação acontecer

SEED no DB 🌱

npm run seed

Ativando testes unitarios 🪛

npm run test

Sobre 📚

Trabalho sobre API Rest que representará nossa avaliação N3.

Cenário fictício 🤔

Vocês trabalham para um startup que irá implementar o backend, uma API Rest, para um sistema de e-commerce. O cliente passou os requisitos e você e sua equipe devem enviar ao cliente o projeto no github para que seja implantado no servidor do cliente.

Divisão de tarefas ✏️📝

  • User, Permissions,Product : - Kauan

  • Order, Payment_method, Payment_status - Gustavo

  • Endpoints de report, supervisão geral dos endpoints - Gabriel

  • Testes unitarios - Guilherme e Vinicius

Critérios de Avaliação 🛠️

  • Funcionalidade: Todos endpoints devem estar funcionando.

  • Validação: Todos endpoints devem ter controle de exceção para erros 400. Além disso, deve-se validar se os campos obrigatórios estão sendo preenchidos corretamente, senão deve-se lançar uma exceção.

  • Arquitetura: O backend deve conter as camadas de Routers, Controllers, Services e Models. Utilize o Sequelize para persistência no banco de dados relacional.

  • Código: O código deve estar bem organizado, otimizado e com comentários das principais funcionalidades.

To-do 🚀'

Definir conceitos iniciais

  • Construção do diagrama de Entidade Relacionamento.
  • Fazer o setup inicial da aplicação.
  • Fazer a divisão das tarefas entre os integrantes.

Docker

  • Implementar o Docker para desenvolvimento

User, Permissions, Product

  • Implementar o modelo User.
  • Implementar o modelo Permissions.
  • Implementar o modelo Product.
  • Criar endpoints para CRUD de User.
  • Criar endpoints para CRUD de Product.
  • Implementar controle de acesso baseado em Permissions.

Order, Payment_method, Payment_status

  • Implementar o modelo Order.
  • Implementar o modelo Payment_method.
  • Implementar o modelo Payment_status.
  • Implementar o modelo Status.
  • Criar endpoints para CRUD de Order.

Endpoints de report, supervisão geral dos endpoints

  • Desenvolver endpoints de relatórios.
  • Revisar todos os endpoints para garantir a consistência.
  • Implementar supervisão e logging de atividades nos endpoints.

Testes unitários

  • Escrever testes unitários para o modelo User.
  • Escrever testes unitários para o modelo Product.
  • Escrever testes unitários para o modelo Order.
  • Escrever testes unitários para o modelo Payment Status.
  • Escrever testes unitários para o modelo Payment Method.
  • Escrever testes unitários para o modelo Status.
  • Garantir cobertura de testes para todos os endpoints.
  • Configurar ambiente de testes e integração contínua.

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.1%
  • Other 0.9%