164 lines
4.5 KiB
Markdown
164 lines
4.5 KiB
Markdown
# AppBarber - Sistema de Gestão de Barbearia Local
|
|
|
|
Este guia explica como usar a versão local do AppBarber com base de dados local.
|
|
|
|
## 🔧 Configuração
|
|
|
|
### 1. Instalação das Dependências
|
|
```bash
|
|
npm install
|
|
# ou
|
|
yarn install
|
|
```
|
|
|
|
### 2. Base de Dados Local
|
|
Este projeto usa **AsyncStorage** para armazenamento local de dados quando o Supabase não está configurado. A base de dados local é criada automaticamente na primeira execução.
|
|
|
|
## 📱 Utilizadores de Demo
|
|
|
|
### Administrador
|
|
- **Email:** `admin@barbearia.pt`
|
|
- **Senha:** `admin123`
|
|
- **Função:** Acesso total ao painel administrativo
|
|
|
|
### Barbeiro
|
|
- **Email:** `barbeiro@barbearia.pt`
|
|
- **Senha:** `barber123`
|
|
- **Função:** Gerir as suas marcações e horários
|
|
|
|
### Cliente
|
|
- **Email:** `cliente@barbearia.pt`
|
|
- **Senha:** `cliente123`
|
|
- **Função:** Marcar serviços e ver histórico
|
|
|
|
## 🚀 Como Usar
|
|
|
|
### 1. Iniciar a Aplicação
|
|
```bash
|
|
npm start
|
|
# ou
|
|
expo start
|
|
```
|
|
|
|
### 2. Login como Administrador
|
|
1. Abra a aplicação
|
|
2. Use as credenciais do administrador
|
|
3. Terá acesso ao painel de administração
|
|
|
|
### 3. Funcionalidades do Administrador
|
|
- **Ver estatísticas:** Total de marcações, receita, barbeiros ativos, clientes
|
|
- **Gerir marcações:** Confirmar, cancelar ou ver detalhes das marcações
|
|
- **Ver clientes:** Informações detalhadas dos clientes
|
|
- **Gerir barbeiros:** Ver horários e disponibilidade
|
|
|
|
### 4. Funcionalidades do Barbeiro
|
|
- **Ver as suas marcações:** Horários e serviços agendados
|
|
- **Gerir disponibilidade:** Definir horários de trabalho
|
|
- **Ver avaliações:** Feedback dos clientes
|
|
|
|
### 5. Funcionalidades do Cliente
|
|
- **Marcar serviços:** Escolher serviços, barbeiros e horários
|
|
- **Ver histórico:** Marcações passadas e futuras
|
|
- **Avaliar serviços:** Deixar feedback
|
|
|
|
## 📊 Estrutura de Dados
|
|
|
|
### Utilizadores
|
|
- Admin: Controlo total do sistema
|
|
- Barbeiro: Gestão das suas marcações
|
|
- Cliente: Marcação de serviços
|
|
|
|
### Serviços
|
|
- Corte Clássico: €35
|
|
- Escultura de Barba: €28
|
|
- Barbear com Toalha Quente: €45
|
|
- Combo Corte + Barba: €55
|
|
- Tratamento Real: €95
|
|
- Corte para Crianças: €22
|
|
|
|
### Marcações
|
|
- Estados: Pendente, Confirmado, Concluído, Cancelado
|
|
- Integração completa com serviços e barbeiros
|
|
|
|
## 💾 Armazenamento Local
|
|
|
|
A base de dados local armazena:
|
|
- ✅ Utilizadores e perfis
|
|
- ✅ Serviços disponíveis
|
|
- ✅ Barbeiros e horários
|
|
- ✅ Marcações e histórico
|
|
- ✅ Avaliações e feedback
|
|
- ✅ Promoções ativas
|
|
|
|
## 🔄 Sincronização
|
|
|
|
Quando o Supabase estiver configurado, a aplicação usará automaticamente a base de dados em nuvem. Caso contrário, continuará funcionando com a base de dados local.
|
|
|
|
## 🛠️ Desenvolvimento
|
|
|
|
### Adicionar Novos Utilizadores
|
|
```typescript
|
|
const newUser = await localDatabase.createUser({
|
|
name: "Nome do Utilizador",
|
|
email: "email@exemplo.com",
|
|
phone: "+351 912 345 678",
|
|
role: "customer", // ou "barber", "admin"
|
|
loyalty_points: 0
|
|
});
|
|
```
|
|
|
|
### Criar Marcação
|
|
```typescript
|
|
const booking = await localDatabase.createBooking({
|
|
customer_id: "customer-id",
|
|
barber_id: "barber-id",
|
|
service_id: "service-id",
|
|
booking_date: "2025-01-15",
|
|
booking_time: "14:00",
|
|
status: "pending"
|
|
});
|
|
```
|
|
|
|
### Ver Estatísticas
|
|
```typescript
|
|
const stats = await localDatabase.getStats();
|
|
// Retorna: totalBookings, totalRevenue, activeBarbers, totalCustomers
|
|
```
|
|
|
|
## 🐛 Resolução de Problemas
|
|
|
|
### Problemas Comuns
|
|
1. **Login não funciona:** Verifique se está a usar as credenciais corretas
|
|
2. **Dados não aparecem:** Reinicie a aplicação para inicializar a base de dados
|
|
3. **Marcações não salvam:** Verifique se AsyncStorage está instalado
|
|
|
|
### Limpar Base de Dados
|
|
```typescript
|
|
await localDatabase.clearAll();
|
|
```
|
|
|
|
## 📱 Screenshots
|
|
|
|
- **Login:** Tela de autenticação com credenciais de demo
|
|
- **Painel Admin:** Estatísticas e gestão de marcações
|
|
- **Marcar Serviço:** Fluxo completo de marcação
|
|
- **Perfil:** Informações do utilizador e histórico
|
|
|
|
## 🎯 Próximos Passos
|
|
|
|
1. **Configurar Supabase:** Para dados em nuvem
|
|
2. **Adicionar notificações:** Lembretes de marcações
|
|
3. **Integração com pagamentos:** Processamento online
|
|
4. **Relatórios avançados:** Análise detalhada do negócio
|
|
|
|
## 📞 Suporte
|
|
|
|
Para suporte técnico ou dúvidas:
|
|
- Verifique os logs do console
|
|
- Confirme as credenciais de login
|
|
- Reinicie a aplicação se necessário
|
|
|
|
---
|
|
|
|
**Nota:** Esta versão local é perfeita para demonstração, testes e desenvolvimento. Para produção, configure o Supabase para dados em nuvem.
|