Sistema completo de gestão de atendimentos fiscais para Núcleos de Apoio Contábil e Fiscal (NAF), desenvolvido para facilitar a interação entre clientes, estudantes e coordenadores.
- ✅ Visualizar serviços disponíveis
- ✅ Agendar atendimentos online
- ✅ Escolher data, horário e modalidade (presencial/online)
- ✅ Receber confirmação por e-mail
- ✅ Acompanhar status do atendimento
- ✅ Visualizar atendimentos atribuídos
- ✅ Buscar novos atendimentos disponíveis
- ✅ Gerenciar status (Iniciar, Finalizar, Cancelar, Reagendar)
- ✅ Adicionar notas internas
- ✅ Coletar feedback dos clientes
- ✅ Acompanhar estatísticas pessoais
- ✅ Dashboard completo com métricas
- ✅ Visualizar todos os atendimentos
- ✅ Acompanhar desempenho dos estudantes
- ✅ Atribuir atendimentos manualmente
- ✅ Gerar relatórios profissionais
- ✅ Monitorar feedback dos clientes
┌──────────────────────────────────────────────────────┐
│ 1️⃣ CLIENTE │
│ ↓ │
│ 📋 Acessa /services │
│ ↓ │
│ ✍️ Preenche formulário em /naf-scheduling │
│ ↓ │
│ 💾 Dados salvos em fiscal_appointments │
│ └─> Status: PENDENTE │
│ assigned_student_id: NULL │
└──────────────────────────────────────────────────────┘
↓
┌──────────────────────────────────────────────────────┐
│ 2️⃣ ESTUDANTE │
│ ↓ │
│ 🔍 Busca atendimentos disponíveis │
│ ↓ │
│ ✅ Sistema atribui automaticamente │
│ └─> assigned_student_id = ID do estudante │
│ ↓ │
│ 🟢 CONFIRMADO → Iniciar → EM_ANDAMENTO │
│ ↓ │
│ ✏️ Adiciona notas internas │
│ ↓ │
│ ✅ Finalizar → CONCLUÍDO │
│ ↓ │
│ ⭐ Coleta feedback do cliente │
└──────────────────────────────────────────────────────┘
↓
┌──────────────────────────────────────────────────────┐
│ 3️⃣ COORDENADOR │
│ ↓ │
│ 📊 Visualiza dashboard completo │
│ ↓ │
│ 👀 Acompanha todos os atendimentos │
│ ↓ │
│ 📈 Analisa desempenho dos estudantes │
│ ↓ │
│ 📄 Gera relatórios personalizados │
└──────────────────────────────────────────────────────┘
- ⚛️ Next.js 14 (App Router)
- 🎨 TailwindCSS + shadcn/ui
- 📝 TypeScript
- 🎯 React Hooks
- 🔐 Next.js API Routes
- 🗄️ Supabase (PostgreSQL)
- 🔑 JWT para autenticação
- 📧 EmailJS para notificações
- 🐘 PostgreSQL (via Supabase)
- 📊 Tabelas principais:
fiscal_appointments- Atendimentosstudents- Estudantesfiscal_appointment_feedbacks- Avaliaçõesnaf_services- Catálogo de serviços
naf-contabil-1.0.0/
├── src/
│ ├── app/
│ │ ├── services/ # Catálogo de serviços
│ │ ├── naf-scheduling/ # Formulário de agendamento
│ │ ├── student-portal/ # Painel do estudante
│ │ ├── coordinator-dashboard/ # Painel do coordenador
│ │ └── api/
│ │ ├── fiscal-appointments/ # API pública
│ │ └── students/
│ │ ├── fiscal-appointments/ # API do estudante
│ │ └── assign-appointments/ # Auto-atribuição
│ ├── components/
│ │ ├── student/
│ │ │ ├── StudentFiscalAppointments.tsx # Gestão de atendimentos
│ │ │ └── FeedbackModal.tsx # Coleta de feedback
│ │ └── FiscalAppointmentsSection.tsx # Dashboard coordenador
│ ├── lib/
│ │ ├── supabase.ts # Configuração Supabase
│ │ └── emailjs.ts # Envio de e-mails
│ └── sql/
│ ├── tables.sql # Schema do banco
│ └── EXECUTAR_ESTE_SCRIPT.sql # Dados de teste
├── FLUXO_COMPLETO_DO_SISTEMA.md # Documentação detalhada
├── COMO_POPULAR_ATENDIMENTOS_FISCAIS.md # Guia de dados de teste
└── README.md # Este arquivo
# Clone o repositório
git clone https://github.com/seu-usuario/naf-contabil-1.0.0.git
# Entre na pasta
cd naf-contabil-1.0.0
# Instale as dependências
npm installCrie um arquivo .env.local na raiz do projeto:
# Supabase
NEXT_PUBLIC_SUPABASE_URL=sua_url_aqui
NEXT_PUBLIC_SUPABASE_ANON_KEY=sua_chave_aqui
SUPABASE_SERVICE_ROLE_KEY=sua_chave_service_aqui
# JWT
NEXTAUTH_SECRET=seu_secret_aqui
# EmailJS (opcional)
NEXT_PUBLIC_EMAILJS_SERVICE_ID=seu_service_id
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=seu_template_id
NEXT_PUBLIC_EMAILJS_PUBLIC_KEY=sua_public_keyExecute os scripts SQL no Supabase SQL Editor:
# 1. Criar tabelas
src/sql/tables.sql
# 2. Criar dados de teste (opcional)
src/sql/EXECUTAR_ESTE_SCRIPT.sql# Desenvolvimento
npm run dev
# Produção
npm run build
npm startAcesse: http://localhost:3000
| Rota | Descrição | Acesso |
|---|---|---|
/ |
Página inicial | Público |
/services |
Catálogo de serviços | Público |
/naf-scheduling |
Agendamento de atendimentos | Público |
/student-portal |
Painel do estudante | Autenticado (Estudante) |
/coordinator-dashboard |
Painel do coordenador | Autenticado (Coordenador) |
/student-login-simple |
Login de estudante | Público |
/coordinator-login |
Login de coordenador | Público |
| Campo | Tipo | Descrição |
|---|---|---|
id |
UUID | Identificador único |
protocol |
String | Protocolo único (FAP-YYYYMMDD-XXX) |
service_type |
String | Tipo de serviço |
service_title |
String | Título do serviço |
service_category |
String | Categoria (IRPF, MEI, etc.) |
client_name |
String | Nome do cliente |
client_email |
String | E-mail do cliente |
client_phone |
String | Telefone do cliente |
status |
Enum | PENDENTE, CONFIRMADO, EM_ANDAMENTO, CONCLUIDO, CANCELADO |
urgency_level |
Enum | BAIXA, NORMAL, ALTA, URGENTE |
assigned_student_id |
UUID | ID do estudante responsável |
preferred_date |
Date | Data preferencial |
preferred_time |
Time | Horário preferencial |
internal_notes |
Text | Notas do estudante |
client_notes |
Text | Observações do cliente |
- Acesse
https://naf.ltdestacio.com.br/services - Escolha um serviço clicando em "Agendar"
- Preencha o formulário com seus dados
- Escolha data e horário preferencial
- Confirme o agendamento
- Aguarde o estudante realizar o atendimento
- Faça login em
https://naf.ltdestacio.com.br/student-login-simple - Acesse o Painel do Estudante
- Vá na aba "Atendimentos Fiscais"
- Se não houver atendimentos:
- Clique em "Buscar Atendimentos Disponíveis"
- Gerencie seus atendimentos:
- Iniciar: Quando for atender o cliente
- Finalizar: Quando concluir o atendimento
- Reagendar: Para mudar data/hora
- Cancelar: Se necessário cancelar
- Feedback: Após finalizar, colete avaliação do cliente
- Faça login em
https://naf.ltdestacio.com.br/coordinator-login - Acesse o Dashboard do Coordenador
- Visualize:
- Estatísticas gerais
- Todos os atendimentos
- Desempenho dos estudantes
- Feedbacks dos clientes
- Ações disponíveis:
- Atribuir atendimentos manualmente
- Gerar relatórios
- Acompanhar métricas
# 1. Acesse
http://localhost:3000/services
# 2. Escolha qualquer serviço
# 3. Preencha o formulário em /naf-scheduling
# 4. Verifique no banco de dados:
SELECT * FROM fiscal_appointments ORDER BY created_at DESC LIMIT 1;# 1. Faça login como estudante
# 2. Vá em "Atendimentos Fiscais"
# 3. Clique em "Buscar Atendimentos"
# 4. Verifique se os dados aparecem- 📖 Fluxo Completo do Sistema - Documentação detalhada do funcionamento
- 🗂️ Como Popular Dados de Teste - Guia para criar dados de exemplo
- 🛠️ Schema do Banco - Estrutura completa das tabelas
Contribuições são bem-vindas! Para contribuir:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- NAF Contábil Team - Desenvolvimento e manutenção
- Universidade Estácio de Sá - Coordenação acadêmica
- 📧 E-mail: [email protected]
- 🌐 Website: https://naf.ltdestacio.com.br
- 📱 WhatsApp: (11) 99999-9999
✅ Sistema 100% Funcional e Integrado
- Formulário de agendamento público
- Painel do estudante completo
- Painel do coordenador
- Sistema de feedback
- Auto-atribuição de atendimentos
- CRUD completo de atendimentos
- Integração com e-mail
- Dashboard com métricas
- Relatórios personalizados
- Notificações em tempo real (WebSocket)
- Chat integrado entre estudante e cliente
- Relatórios avançados com gráficos
- Sistema de gamificação para estudantes
- Aplicativo mobile (React Native)
- Integração com calendário (Google Calendar)
- IA para triagem automática de atendimentos
Última atualização: 08/10/2024 Versão: 1.0.0