Files
NaMesa_site/docs/01_PROJECT_OVERVIEW.md

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*