Escopo
Home | Escopo | Processo | Sprints | Design | Arquitetura | Repositorios | Gerencia | Banco de Dados |
---|
Escopo do Projeto
Última atualização: 19 de Outubro 2025
Visão Geral
O projeto Pró-Mata consiste no desenvolvimento de uma plataforma digital de hotelaria para o Centro de Pesquisas e Proteção da Natureza (CPPN) Pró-Mata, visando oferecer um sistema eficiente, acessível e integrado para a gestão das reservas e serviços do centro.
Objetivo do Projeto
Desenvolver uma plataforma Web que:
- Facilite o processo de reservas, agendamento e planejamento
- Amplie o público alcançado pelo centro
- Promova maior transparência e comodidade para os usuários
- Otimize a organização interna do CPPN Pró-Mata
- Aprimore a experiência do visitante
Escopo do Produto
No Escopo
1. Identificação de Usuários
- Alunos e professores da PUCRS: Acesso com identificação institucional
- Alunos e professores de outras universidades: Cadastro com validação acadêmica
- Público geral: Cadastro aberto para visitantes
2. Módulo Administrativo
- Atualização de informações da plataforma
- Elaboração de relatórios de múltiplas reservas
- Emissão de confirmações de reserva
- Gestão de usuários (criação, edição, inativação)
- Gestão de experiências (quartos, espaços, atividades)
- Verificação de solicitações de professores
3. Módulo de Reservas
Hospedagem:
- Consulta de disponibilidade de quartos individuais e coletivos
- Reserva de quartos com datas de check-in/check-out
- Visualização de capacidade e características dos quartos
Espaços:
- Laboratórios
- Salas multiuso
- Auditório
Atividades:
- Trilhas interpretativas
- Visitas turísticas
- Retiros espirituais
- Cursos e eventos acadêmicos
4. Sistema de Pagamento
- Acesso a diversas formas de pagamento
- Anexação de comprovantes de pagamento na submissão das reservas
- Armazenamento seguro de comprovantes
5. Funcionalidades Técnicas
- Autenticação JWT com controle de papéis (usuário, admin)
- Validação de dados com Zod
- Documentação API com Swagger
- Testes automatizados (≥70% cobertura)
- Analytics com Umami (privacy-respecting)
- Deploy automatizado (CI/CD GitHub Actions)
Fora do Escopo
-
❌ Integração com portais de pagamento (gateways como PagSeguro, MercadoPago) -
❌ Aplicativo mobile nativo (apenas Web responsivo) -
❌ Sistema de fidelidade ou pontos -
❌ Chat em tempo real com administradores -
❌ Integração com redes sociais -
❌ Sistema de avaliações/reviews de experiências
Público-Alvo
Perfis de Usuário
Perfil | Descrição | Necessidades Principais |
---|---|---|
Aluno PUCRS | Estudante da PUCRS interessado em atividades acadêmicas/recreativas | Acesso rápido, reservas para grupos, preços institucionais |
Professor PUCRS | Docente organizando atividades de ensino/pesquisa | Reservas de laboratórios, espaços para eventos, gestão de grupos |
Aluno/Professor Externo | Acadêmicos de outras universidades | Validação institucional, informações sobre o centro |
Público Geral | Visitantes interessados em ecoturismo/retiros | Informações sobre atividades, processo de reserva simples |
Administrador | Funcionários do CPPN Pró-Mata | Gestão completa de reservas, relatórios, confirmações |
Requisitos Funcionais (Resumo)
RF01 - Autenticação e Cadastro
- Sistema de login com email e senha
- Cadastro de novos usuários (PUCRS e externos)
- Recuperação de senha via email (TODO: integração SES)
- Perfil de usuário editável
RF02 - Gestão de Experiências (Admin)
- CRUD completo de experiências (quartos, espaços, atividades)
- Definição de capacidade, preços, horários disponíveis
- Categorização de experiências
RF03 - Sistema de Reservas
- Busca de experiências por categoria, data, capacidade
- Carrinho de reservas
- Submissão de reserva com upload de comprovante
- Visualização de reservas do usuário
RF04 - Gestão Administrativa
- Visualização de todas as reservas
- Aprovação/rejeição de reservas
- Verificação de solicitações de professores
- Geração de relatórios
RF05 - Gestão de Usuários (Admin)
- Listagem de usuários
- Criação de usuários administrativos
- Inativação de usuários
Requisitos Não-Funcionais
RNF01 - Desempenho
- Tempo de resposta de API < 200ms (95th percentile)
- Frontend com carregamento inicial < 3s
- Suporte a 100 usuários simultâneos
RNF02 - Segurança
- Autenticação JWT com tokens de curta duração
- Hashing de senhas com argon2id
- Validação de entrada em todas as rotas (Zod)
- HTTPS obrigatório em produção
RNF03 - Usabilidade
- Interface responsiva (mobile, tablet, desktop)
- Acessibilidade WCAG 2.1 AA (quando aplicável)
- Feedback visual claro para ações do usuário
RNF04 - Manutenibilidade
- Cobertura de testes ≥70%
- Documentação de API (Swagger)
- Código TypeScript com strict mode
- Linting e formatação automatizados (ESLint, Prettier)
RNF05 - Disponibilidade
- Uptime desejado: 99% (tolerância a ~7h downtime/mês)
- Infraestrutura de backup disponível (RTO < 4h)
- Monitoramento com analytics (Umami)
Tecnologias
Frontend
- React 19 + TypeScript
- Vite 6
- TanStack Router + TanStack Query
- Tailwind CSS 4
- Shadcn/UI + Radix UI
- Vitest + Playwright
Backend
- Node.js 22 + NestJS + TypeScript
- Prisma ORM + PostgreSQL 15
- JWT + argon2
- Swagger
- Jest
Infraestrutura
- AWS S3 (frontend) + AWS EC2 (backend/database)
- Docker + Docker Hub
- GitHub Actions (CI/CD)
- GitLab (repositórios oficiais + wiki)
Entregas
Sprint 0 (Concluída)
-
✅ Arquitetura definida -
✅ Modelagem de banco de dados -
✅ Design das telas (Figma) -
✅ Infraestrutura configurada
Sprint 1 (Concluída)
-
✅ Fluxo de Login e Cadastro -
✅ Home Page -
✅ Tela de Criação de Experiências (Admin) -
✅ Criação de Usuário (Admin)
Sprint 2 (Concluída)
-
✅ Tela de Reservas -
✅ Tela de Solicitações (Admin) -
✅ Tela de Buscar Reservas -
✅ Melhorias na Criação de Experiências
Sprint 3 e 4 (Em Andamento/Planejado)
Ver Sprints para detalhes atualizados.
Restrições
- Prazo: Semestre 2025/2 (até final de Novembro)
- Equipe: 4 níveis AGES (I a IV) com responsabilidades distintas
- Tecnologia: Web apenas (sem mobile nativo)
- Orçamento: Infraestrutura AWS com custos controlados
- Requisitos Institucionais: Repositórios GitLab + sincronização GitHub
Critérios de Aceitação Geral
O projeto será considerado bem-sucedido quando:
-
✅ Usuários conseguem se cadastrar e fazer login -
✅ Usuários conseguem visualizar e reservar experiências -
✅ Administradores conseguem gerenciar reservas e usuários -
✅ Sistema está funcional em produção (AWS) -
✅ Cobertura de testes ≥70% -
✅ Documentação completa (Wiki + Swagger) -
✅ Stakeholder valida funcionalidades em Sprint Reviews
Próximos Passos
- Implementar envio de emails (integração SES)
- Completar funcionalidades de Sprint 3 e 4
- Refinamento de UX/UI baseado em feedback
- Otimizações de performance
- Documentação de manual do usuário
Stakeholder: Prof. Augusto Mussi Alvim Orientador: Edson Moreno Gerência: Ver Gerencia para estrutura completa da equipe e processos