Skip to content

alvaromrveiga/ecommerce-backend

Repository files navigation

E-Commerce Backend

API com endpoints para criação de usuários, produtos, compras e avaliações com autenticação e autorização

🔗 Demo com Swagger

📑 Índice

📌 Features

  • CRUD de usuários
  • Autenticação de usuário
    • Rotação de Refresh Token
      • Detecção de Reuso Automático
  • Autorização de usuário (admin)
  • CRUD de produtos
    • Upload de imagens
  • CRUD de categorias
  • CRUD de compras

📚 Docs e Demo

🔗 Demo usando Swagger

🔗 Docs usando Compodoc no GitHub Pages

  • Representação dos módulos com Compodoc:

    Compodoc-App-Module

🔧 Instalação

  1. Você precisará ter o Node.js instalado

  2. Instalação

  # Clona o projeto para sua máquina
  git clone https://github.com/alvaromrveiga/ecommerce-backend

  # Entra na pasta do projeto
  cd ecommerce-backend

  # Instala as dependências
  yarn
  1. Crie um arquivo .env na raiz do projeto preenchendo as informações descritas no .env.example

  2. Iniciar servidor

  # Roda as migrations
  yarn migrate:dev 

  # Inicia o servidor em modo de desenvolvimento
  yarn start:dev

  # O servidor abrirá na porta 3000. 
  # Você pode acessar a documentação com Swagger em http://localhost:3000/api/

  # Para visualizar o banco de dados
  yarn prisma studio

🔩 Testes

  • Crie um arquivo .env.test na raiz do projeto alterando no mínimo o banco de dados que colocou no .env

    • Exemplo: postgresql://username:password@localhost:5432/ecommerce-test?schema=public
      # Roda as migrations no bando de testes
      yarn migrate:test 
    
      # Roda todos os testes unitários e de integração
      # Pode demorar alguns poucos minutos
      # 10 suites e 187 testes
      yarn test:all
    
      # Roda apenas os testes unitários
      yarn test
    
      # Roda apenas os testes de integração
      yarn test:e2e
    
      # Para visualizar o banco de dados de testes
      yarn studio:test
  • Cobertura dos testes:

    Test-Coverage

🖇️ Requisições no Insomnia

A coleção de 30 requisições para testar o projeto no Insomnia pode ser encontrada aqui.

  • Para importar no Insomnia:
    • Clique na engrenagem no canto superior direito
    • Aba de Data
    • Import Data
    • From File
    • Selecione o arquivo insomnia-requests.json dentro da pasta assets na raiz do projeto

💻 Tecnologias

📄 Licença

MIT