Este projeto é uma aplicação completa para gestão de pedidos e restaurantes, composta por três principais módulos:
- api/: Backend em Node.js com TypeScript, utilizando Prisma ORM, Docker e Vitest para testes. Responsável pela lógica de negócios, autenticação, rotas REST, manipulação de dados e integração com banco de dados.
- client/: Frontend para clientes finais, desenvolvido em React + Vite, com componentes modernos, integração via Axios, gerenciamento de estado e autenticação.
- web/: Painel administrativo para restaurantes, também em React + Vite, com funcionalidades de gestão de produtos, pedidos, avaliações e relatórios.
- Cadastro e login de usuários
- Listagem e filtro de restaurantes
- Gestão de pedidos, favoritos e avaliações
- Painel administrativo para restaurantes
- Upload de imagens
- Relatórios e métricas
- Node.js 20+
- Docker e Docker Compose
- npm/pnpm (ou outro gerenciador, dependendo do projeto)
food-app/
├── api/ # Backend (Node.js, TypeScript, Prisma, Docker)
├── client/ # Frontend do cliente (React, Vite)
├── web/ # Painel administrativo (React, Vite)
- Instale as dependências:
cd api
npm install- Configure as variáveis ambiente:
PORT=
DATABASE_URL=
JWT_SECRET=
NODE_ENV=- Rode o banco de dados com Docker:
docker-compose up -d- Execute as migrações do Prisma:
npm run prisma:migrate- Popule o banco com exemplos: (opcional)
npm run prisma:seed- Instale as dependências:
cd client # ou cd web
npm install # ou pnpm install- Configure as variáveis ambiente:
VITE_API_URL=cd api
npm run devcd client # ou cd web
npm run dev # ou pnpm devPull requests são bem-vindos! Para contribuir, siga as boas práticas de commit e mantenha o padrão de código.
Este projeto está sob a licença MIT.