Um e-commerce completo para cafeteria, com sistema de autenticação, carrinho de compras, checkout e gerenciamento de pedidos.
- ✅ Autenticação segura com NextAuth.js e bcrypt
- ✅ Catálogo de produtos com filtros e busca
- ✅ Carrinho de compras persistente
- ✅ Checkout completo com múltiplos métodos de pagamento
- ✅ Gerenciamento de pedidos com histórico e status
- ✅ Design responsivo para todos os dispositivos
- ✅ Performance otimizada com Next.js 15
- Node.js 18.0 ou superior
- npm ou yarn
- Clone o repositório:
git clone https://github.com/seu-usuario/frontend-coffee.git
cd frontend-coffee- Instale as dependências:
npm install
# ou
yarn install- Configure as variáveis de ambiente:
cp .env.example .env.localEdite o arquivo .env.local com suas configurações.
- Execute as migrações do banco de dados:
npx prisma migrate dev- Inicie o servidor de desenvolvimento:
npm run dev
# ou
yarn dev- Acesse a aplicação em http://localhost:3000
- Frontend: Next.js, React, TypeScript
- Estilização: SCSS Modules
- Autenticação: NextAuth.js, bcrypt
- Banco de Dados: Prisma ORM, SQLite (dev)
- Validação: Zod Schema Validation
- UI/UX: React Icons, React Toastify
frontend-coffee/
├── prisma/ # Schema e migrações do banco de dados
├── public/ # Arquivos estáticos
├── src/
│ ├── app/ # Rotas e componentes de página (App Router)
│ │ ├── api/ # Rotas de API
│ │ ├── components/ # Componentes específicos de página
│ │ └── ... # Páginas da aplicação
│ ├── components/ # Componentes compartilhados
│ ├── context/ # Contextos React
│ ├── data/ # Dados estáticos e mocks
│ ├── hooks/ # Hooks customizados
│ ├── lib/ # Utilitários e configurações
│ └── types/ # Definições de tipos TypeScript
├── .env.local # Variáveis de ambiente locais
├── next.config.ts # Configuração do Next.js
└── package.json # Dependências e scripts
- Autenticação segura com NextAuth.js
- Senhas armazenadas com hash bcrypt
- Validação de entrada com Zod
- Headers de segurança HTTP configurados
- Proteção contra CSRF e XSS
A aplicação é totalmente responsiva e testada nos seguintes dispositivos:
- Smartphones (320px+)
- Tablets (768px+)
- Desktops (1024px+)
- Telas grandes (1440px+)
Para build de produção:
npm run build
# ou
yarn buildPara iniciar em produção:
npm start
# ou
yarn startEste projeto está sob a licença MIT - veja o arquivo LICENSE.md para detalhes.
- Faça um fork do projeto
- Crie sua branch de feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
Desenvolvido com ❤️ por Fabiane