Qatu é uma plataforma de e-commerce desenvolvida para proporcionar uma experiência de compra acessível, segura e personalizada. O sistema permite que usuários explorem um catálogo de produtos, realizem pedidos e acompanhem suas compras, além de possibilitar que vendedores gerenciem seus produtos e vendas.
- Autenticação e gestão de usuários
- Catálogo de produtos com filtros e busca
- Sistema de carrinho de compras
- Gestão de pedidos
- Sistema de avaliações
- Notificações em tempo real
- Área do vendedor
- Simulação de pagamentos
- Node.js + Express
- MongoDB (banco de dados)
- JWT para autenticação
- Bcrypt para criptografia
- Cloudinary para imagens
- Jest para testes
- Angular 19.2
- Angular Material
- TypeScript
- SCSS
- Angular Router
- HTTPClient
- Docker
- GitLab CI/CD
- Railway (deploy backend)
- Vercel (deploy frontend)
backend/
├── controllers/ # Lógica de negócios
├── models/ # Schemas MongoDB
├── routes/ # Rotas da API
├── services/ # Serviços
├── middlewares/ # Middlewares
├── utils/ # Utilitários
└── config/ # Configurações
frontend/
├── src/
│ ├── app/
│ │ ├── core/ # Serviços e guards
│ │ ├── pages/ # Componentes de página
│ │ ├── shared/ # Componentes compartilhados
│ │ └── features/ # Módulos de funcionalidades
│ ├── assets/ # Recursos estáticos
│ └── styles/ # Estilos globais
- POST /api/users/register - Registro de usuário
- POST /api/users/login - Login
- POST /api/users/reset-password - Reset de senha
- PATCH /api/users/:id/become-seller - Tornar-se vendedor
- GET /api/products - Lista produtos (com filtros)
- GET /api/products/:id - Detalhes do produto
- POST /api/products - Criar produto (vendedor)
- PUT /api/products/:id - Atualizar produto
- DELETE /api/products/:id - Remover produto
- POST /api/products/:id/review - Adicionar avaliação
- POST /api/cart/add - Adicionar ao carrinho
- GET /api/cart - Ver carrinho
- DELETE /api/cart/remove - Remover do carrinho
- POST /api/orders/checkout - Finalizar compra
- GET /api/orders/my-orders - Meus pedidos
- GET /api/orders/seller-orders - Pedidos (vendedor)
- PATCH /api/orders/:id/status - Atualizar status
- GET /api/notifications - Listar notificações
- PATCH /api/notifications/:id/read - Marcar como lida
- DELETE /api/notifications - Limpar notificações
- Node.js >= 18
- MongoDB
- Angular CLI
- Docker (opcional)
cd backend/qatu
npm install
npm run devcd frontend/qatu
npm install
ng serve# Backend
docker-compose -f docker-compose.backend.yml up
# Frontend
docker-compose -f docker-compose.frontend.yml up- Navega por produtos
- Realiza compras
- Avalia produtos
- Gerencia carrinho
- Acompanha pedidos
- Gerencia produtos próprios
- Acompanha vendas
- Atualiza status de pedidos
- Recebe notificações
- Autenticação via JWT
- Senhas criptografadas (bcrypt)
- Validação de dados
- Proteção de rotas
- Controle de acesso por role
- Design responsivo
- Feedback visual de ações
- Notificações em tempo real
- Filtros e busca avançada
- Paginação de resultados
- Gestão de estados de loading
- Testes unitários (Jest)
- Testes de API (Postman)
- Testes de integração
- Validações de frontend
- Gabriela Diniz Santos - Frontend + Integração (Líder + Designer)
- Marcelo Barbosa da Silva - Banco de Dados
- Pedro Henrique Aguiar de Medeiros - Backend (Scrum Master)
- Pedro Lucas Valadares Ferreira - Backend (Líder)
- Renato Sá Leitão de Carvalho Filho - Frontend + Integração (Designer)
- Implementação de cache
- Melhorias de performance
- Expansão de testes
- PWA features
- Relatórios e analytics