77 lines
2.9 KiB
Markdown
77 lines
2.9 KiB
Markdown
# 🍽️ ReservaMesa — Documentação do Projeto
|
|
|
|
## Visão Geral
|
|
|
|
**ReservaMesa** é um painel web (dashboard) desenvolvido para restaurantes gerirem as suas reservas de mesa de forma eficiente. Funciona como o **backend visual** de uma aplicação mobile já existente que permite aos clientes reservarem mesas em restaurantes.
|
|
|
|
### Problema que resolve
|
|
- Filas de espera nos restaurantes → eliminadas por reservas antecipadas
|
|
- Gestão caótica de mesas → centralizada num dashboard
|
|
- Clientes sem visibilidade do espaço disponível → reserva com confirmação imediata
|
|
- Restaurantes com capacidade subutilizada → otimização por slot de tempo
|
|
|
|
---
|
|
|
|
## Objetivos do Website
|
|
|
|
| Objetivo | Descrição |
|
|
|---|---|
|
|
| **Dashboard de Gestão** | Interface para o restaurante ver todas as reservas em tempo real |
|
|
| **Gestão de Mesas** | Configurar número de mesas, capacidade, zonas (interior/exterior/VIP) |
|
|
| **Calendário de Reservas** | Visualização diária, semanal e por turno |
|
|
| **Notificações** | Alertas de novas reservas, cancelamentos, no-shows |
|
|
| **Relatórios** | Ocupação média, horários de pico, receita estimada |
|
|
| **Autenticação** | Login seguro para cada restaurante com Firebase Auth |
|
|
|
|
---
|
|
|
|
## Stakeholders
|
|
|
|
| Papel | Utilizador | Necessidade |
|
|
|---|---|---|
|
|
| **Gestor de Restaurante** | Acede ao dashboard | Ver e gerir reservas do dia |
|
|
| **Staff (Maître)** | Tablet na recepção | Check-in de clientes |
|
|
| **Cliente Final** | App mobile (existente) | Fazer reserva, receber confirmação |
|
|
| **Admin do Sistema** | Super-admin | Gerir restaurantes na plataforma |
|
|
|
|
---
|
|
|
|
## Integração com App Mobile
|
|
|
|
O website consome a **mesma base de dados Firebase** que a aplicação mobile:
|
|
- Dados partilhados em tempo real via Firestore
|
|
- Autenticação unificada via Firebase Auth
|
|
- Storage de imagens via Firebase Storage
|
|
- Sem duplicação de dados — única fonte de verdade
|
|
|
|
---
|
|
|
|
## Fases do Projeto
|
|
|
|
| Fase | Nome | Duração Estimada | Status |
|
|
|---|---|---|---|
|
|
| 1 | Planeamento & Documentação | 1 semana | ✅ Concluído |
|
|
| 2 | Setup & Estrutura Base | 3 dias | ⏳ A iniciar |
|
|
| 3 | Autenticação & Onboarding | 3 dias | 🔜 Pendente |
|
|
| 4 | Dashboard Principal | 1 semana | 🔜 Pendente |
|
|
| 5 | Gestão de Reservas | 1 semana | 🔜 Pendente |
|
|
| 6 | Gestão de Mesas | 4 dias | 🔜 Pendente |
|
|
| 7 | Relatórios & Analytics | 4 dias | 🔜 Pendente |
|
|
| 8 | Notificações & Real-time | 3 dias | 🔜 Pendente |
|
|
| 9 | Testes & Deploy | 1 semana | 🔜 Pendente |
|
|
|
|
---
|
|
|
|
## Decisões de Arquitetura
|
|
|
|
1. **Next.js** como framework principal — SSR para SEO, routing file-based, API routes
|
|
2. **Firebase SDK** no frontend — listeners em tempo real sem servidor intermediário
|
|
3. **Tailwind CSS** — design system consistente e rápido de implementar
|
|
4. **Shadcn/UI** — componentes acessíveis e customizáveis
|
|
5. **Vercel** — deploy automático com cada push
|
|
|
|
---
|
|
|
|
*Documento gerado em: Maio 2026*
|
|
*Versão: 1.0.0*
|