Aqui está o README atualizado com a seção de funcionalidades:
Este projeto é uma API de e-commerce construída com AdonisJS 4, um framework para Node.js focado em produtividade e estruturação de código. O backend fornece endpoints para gerenciamento de usuários, produtos, pedidos, pagamentos e outras funcionalidades essenciais de um e-commerce.
- Node.js - Ambiente de execução JavaScript
- AdonisJS 4 - Framework MVC para aplicações Node.js
- MySQL/PostgreSQL - Banco de dados relacional
- JWT - Autenticação segura
- Lucid ORM - ORM para manipulação do banco de dados
- Japa - Framework de testes para AdonisJS
- Mercado Pago API - Integração para pagamentos online
- Listar produtos
- Criar novo produto
- Atualizar produto existente
- Deletar produto
- Registro de novos usuários
- Autenticação de usuários (login/logout)
- Atualização de perfil de usuário
- Recuperação de senha
- Criação de novos pedidos
- Listagem de pedidos do usuário
- Atualização de status do pedido
- Cancelamento de pedidos
- Adicionar itens ao carrinho
- Remover itens do carrinho
- Atualizar quantidade de itens no carrinho
- Visualizar itens no carrinho
- Processamento de pagamentos
- Integração com gateways de pagamento (Mercado Pago)
- Listar categorias de produtos
- Criar nova categoria
- Atualizar categoria existente
- Deletar categoria
- Atualização de estoque de produtos
- Notificação de produtos fora de estoque
- Geração de relatórios de vendas
- Análise de desempenho de produtos
- Painel de administração para gerenciar usuários, produtos, pedidos e categorias
- Controle de acesso baseado em permissões
- Envio de notificações por e-mail para eventos importantes (ex: confirmação de pedido, recuperação de senha)
📦 ecommerce-api
├── 📂 app/
│ ├── 📂 Controllers/ # Controladores das requisições HTTP
│ ├── 📂 Models/ # Modelos que representam as entidades do banco
│ ├── 📂 Services/ # Lógica de negócios encapsulada
│ ├── 📂 Middleware/ # Middlewares para processamento de requisições
│ ├── 📂 Validators/ # Validações de entrada de dados
│ ├── 📂 Transformers/ # Formatação de dados de resposta
│
├── 📂 config/ # Configuração da aplicação (banco, autenticação, etc.)
├── 📂 database/
│ ├── 📂 migrations/ # Scripts de migração do banco de dados
│ ├── 📂 seeds/ # Seeds para popular o banco
│ ├── factory.js # Geração de dados para testes
│
├── 📂 start/
│ ├── routes.js # Definição das rotas da API
│ ├── kernel.js # Configuração de middlewares globais
│ ├── hooks.js # Extensões e hooks do AdonisJS
│
├── 📂 test/ # Testes automatizados
├── 📂 .vscode/ # Configurações do VSCode
├── .env.example # Exemplo de configuração de ambiente
├── server.js # Arquivo principal do servidor
├── package.json # Dependências e scripts npm
└── README.md # Documentação do projeto
Antes de iniciar, certifique-se de ter instalado:
- Node.js
- AdonisJS CLI
- Banco de dados (MySQL ou PostgreSQL)
git clone https://github.com/seu-usuario/ecommerce-adonis.git
cd ecommerce-adonis
npm install
Copie o arquivo .env.example
e configure as credenciais do banco de dados, chaves de autenticação e credenciais do Mercado Pago:
cp .env.example .env
Edite o arquivo .env
conforme necessário.
adonis migration:run
adonis seed
adonis serve --dev
A API estará disponível em: http://127.0.0.1:3333
O sistema possui integração com o Mercado Pago para processar pagamentos online. A configuração da API do Mercado Pago deve ser feita no arquivo .env
, preenchendo os seguintes campos com suas credenciais:
MP_ENV=
MP_ACCESS_TOKEN=
A API permite criar, consultar e processar pagamentos diretamente pelo Mercado Pago, garantindo segurança e confiabilidade para as transações.
Os testes são escritos com Japa.
adonis test
Este projeto está sob a licença MIT.
Se precisar de suporte ou encontrar um bug, sinta-se à vontade para abrir uma issue! 🚀