Plataforma completa para restauração portuguesa Menu Digital + Comunidade + Marketplace + Academia
Transformar restaurantes portugueses através de tecnologia + comunidade + educação.
Proposta Valor:
- 💰 Poupar €200-400/mês (Marketplace fornecedores)
- 🤝 Rede apoio 50+ restauradores (Hub Comunidade)
- 🎓 Upskilling gratuito (Academia iaMenu)
- 📱 Menu Digital multilíngue IA (Core)
Meta 6 meses: €10k MRR | 100 restaurantes | Churn <3%
iaMenu Ecosystem
├── Core (Java Spring Boot) → Menu Digital, Auth, Orders
├── Services (Node.js) → Comunidade, Marketplace, Academia
├── Frontend (React) → UIs separadas por feature
└── Database (PostgreSQL 16) → Schemas separados
| Componente | Tecnologia |
|---|---|
| Backend Core | Java 17, Spring Boot 3.x, Maven |
| Backend Services | Node.js 18, TypeScript, Express, Prisma |
| Frontend | React 18, Tailwind CSS, React Query |
| Database | PostgreSQL 16 (schemas: core, community, marketplace, academy) |
| IA | OpenAI GPT-4-Turbo |
| Auth | Custom JWT (partilhado) |
| Payments | Stripe |
| Deploy | Railway (Docker containers) |
- Node.js 18+
- Docker & Docker Compose
- Para utilizadores Windows: O WSL (Windows Subsystem for Linux) tem que estar atualizado. Se encontrar problemas com o Docker, execute
wsl --updatenum terminal de administrador e reinicie o computador.
Na raiz do projeto, instale todas as dependências dos workspaces (isto irá instalar as dependências para todos os serviços Node.js).
npm installCopie o ficheiro de exemplo .env.example para um novo ficheiro chamado .env.
cp .env.example .envImportante: Verifique o ficheiro .env e preencha as variáveis necessárias, como OPENAI_API_KEY. O DATABASE_URL padrão deve funcionar com a configuração Docker abaixo.
Use o Docker Compose para iniciar o contentor da base de dados PostgreSQL em segundo plano.
docker compose up postgres -d(Nota: as versões mais antigas do Docker podem usar docker-compose com um hífen).
Devido à arquitetura multi-esquema, cada serviço precisa de ter as suas migrações aplicadas individualmente. Execute os seguintes comandos pela ordem indicada, a partir da raiz do projeto:
# 1. Marketplace
cd services/marketplace
npx dotenv -e ../../.env npx prisma migrate dev --name initial_marketplace_schema
cd ../..
# 2. Academy
cd services/academy
npx dotenv -e ../../.env npx prisma migrate dev --name initial_academy_schema
# Se o Prisma perguntar "Do you want to continue?", digite 'y' e Enter.
cd ../..
# 3. Business
cd services/business
npx dotenv -e ../../.env npx prisma migrate dev --name initial_business_schema
# Se o Prisma perguntar "Do you want to continue?", digite 'y' e Enter.
cd ../..
# 4. Community
cd services/community
npx dotenv -e ../../.env npx prisma migrate dev --name initial_community_schema
# Se o Prisma perguntar "Do you want to continue?", digite 'y' e Enter.
cd ../..Nota: Os serviços business e community têm scripts de "seed" que irão popular a base de dados com dados de exemplo automaticamente após a migração.
Depois de tudo configurado, pode iniciar todos os serviços de desenvolvimento com um único comando a partir da raiz do projeto:
npm run dev# Setup (1x)
railway login
railway link
# Deploy
npm run deploy:staging
npm run deploy:productioniamenu-ecosystem/
│
├── core/ # ☕ Java Spring Boot
│ ├── src/main/java/pt/iamenu/
│ ├── pom.xml
│ └── Dockerfile
│
├── services/ # 🟢 Node.js APIs
│ ├── community/ # Hub Comunidade
│ ├── marketplace/ # Marketplace Fornecedores
│ └── academy/ # Academia Cursos
│
├── frontend/ # ⚛️ React Apps
│ ├── apps/
│ │ ├── menu/ # Menu Digital UI
│ │ ├── community/ # Hub UI
│ │ ├── marketplace/ # Marketplace UI
│ │ └── academy/ # Academia UI
│ └── packages/
│ ├── ui/ # Shared components
│ └── utils/ # Shared utilities
│
├── database/ # 🗄️ Database
│ ├── migrations/
│ ├── seeds/
│ └── schema/
│
├── scripts/ # 🔧 Utility scripts
│ ├── setup-dev.sh
│ ├── deploy-railway.sh
│ └── seed-all.sh
│
├── docs/ # 📚 Documentation
│ ├── architecture/
│ ├── deployment/
│ └── development/
│
├── docker-compose.yml
├── package.json # Workspaces root
└── README.md
- Setup monorepo
- Arquitetura Híbrida definida
- 3 PRDs completos (54 páginas)
- Railway account criado
- Backend: Posts, Comentários, Grupos, Notificações
- Frontend: Dashboard, Feed, Grupos, Perfis
- Sistema de seguidores e reações
- Upload de imagens em posts
- Feed em tempo real
- Backend: Fornecedores, Reviews, RFQ System
- Frontend: Search, Perfil Fornecedor, RFQ
- Sistema de cotações (Request for Quote)
- Perfis públicos de fornecedores
- Upload de imagens (logo, header)
- Backend: Dashboard, Analytics, Onboarding
- Frontend: Dashboard BI, Onboarding
- Métricas e insights de negócio
- Integração completa com módulos
- Relatórios avançados
- Backend: Cursos, Progress Tracking, Certificados
- Frontend: Player, Dashboard Cursos
- Gravar 3 cursos (iaMenu 101, Negociação, Marketing)
- Beta: 10 certificados emitidos
- Email 50 users iaMenu existentes
- Public launch redes sociais
- Primeiros 3 clientes pagam €88/mês
- Upgrade Railway Hobby Plan (€5-10/mês)
| Serviço | Porta | Base URL |
|---|---|---|
| Community API | 3004 | http://localhost:3004/api/v1/community |
| Marketplace API | 3005 | http://localhost:3005/api/v1/marketplace |
| Business API | 3002 | http://localhost:3002/api/v1/business |
| Frontend | 5173 | http://localhost:5173 |
GET /api/v1/community/posts # Listar posts
POST /api/v1/community/posts # Criar post
GET /api/v1/community/posts/:id # Detalhes do post
POST /api/v1/community/posts/:id/like # Dar like
GET /api/v1/community/groups # Listar grupos
GET /api/v1/community/profiles/:userId # Ver perfil
GET /api/v1/community/notifications # Notificações
GET /api/v1/marketplace/suppliers # Listar fornecedores
GET /api/v1/marketplace/suppliers/:id # Detalhes fornecedor
POST /api/v1/marketplace/quotes/request # Criar RFQ
GET /api/v1/marketplace/quotes/:id # Detalhes cotação
GET /api/v1/marketplace/products # Pesquisar produtos
GET /api/v1/business/onboarding/status # Status onboarding
POST /api/v1/business/onboarding/setup # Configurar restaurante
GET /api/v1/business/dashboard/stats # Estatísticas
GET /api/v1/business/dashboard/alerts # Alertas
GET /api/v1/business/dashboard/top-products # Top produtos
Todos os endpoints protegidos requerem header:
Authorization: Bearer <token>
Token de desenvolvimento disponível em frontend/apps/prototype-vision/src/config/devToken.js
# Unit tests
npm run test # All services
npm run test:core # Java (JUnit)
npm run test:community # Node.js (Jest)
# Integration tests
npm test # Runs all tests in all services
# E2E tests
npm run test:e2e # Playwright| Métrica | Target 3 Meses | Status |
|---|---|---|
| MRR | €10k | €0 |
| Restaurantes | 100 | 0 |
| Churn Rate | <3% | - |
| NPS | >50 | - |
| Community DAU | 30% | - |
| Marketplace Savings | €20k/mês | €0 |
| Certificados | 50+ | 0 |
- Java 17, Spring Boot 3.x, Spring Data JPA, Spring Security
- Node.js 18, TypeScript 5, Express.js, Prisma ORM
- PostgreSQL 16, Redis (futuro)
- React 18, TypeScript, Tailwind CSS
- React Query, Zustand, React Router
- Vite, Turborepo
- Docker, Docker Compose
- Railway (deploy)
- GitHub Actions (CI/CD - futuro)
- OpenAI API (GPT-4-Turbo)
- Stripe (payments)
- Vimeo ou YouTube (vídeos Academia)
Projeto privado. Apenas Eurico Alves + Claude Code.
Proprietary - Todos direitos reservados © 2025 iaMenu
Eurico Alves
- Email: [email protected]
- LinkedIn: Eurico Alves
- Website: iamenu.pt
- Metodologia "Do Puxadinho à Mansão" (estruturação projeto)
- Claude Code (desenvolvimento IA)
- Comunidade restauração portuguesa (inspiração)
Status: 🚧 Development - Protótipo Funcional Última atualização: 2025-01-06 Próximo milestone: Refinamento e Testes Beta