Resumo do produto
Sistema de reserva de salas de reunião com arquitetura de microsserviços: serviço de autenticação em .NET 8 (JWT), API de reservas em Python/FastAPI e interface web React. O JWT emitido no login é enviado automaticamente em todas as requisições.
O problema que resolve
Em escritórios médios, reservar uma sala vira caos de planilhas, e-mails e conflitos de horário. Sem controle centralizado de quem pode reservar e sem visão em tempo real das salas, o time perde produtividade.
Por que foi construído
Construído como desafio técnico que exigia separação clara de responsabilidades (auth, domínio e UI) e integração segura entre serviços com tokens JWT.
Como funciona na prática
Uma interface única de reservas que fala com dois serviços: o de autenticação (cadastro/login com hash seguro de senha) e o de reservas (CRUD com validações de conflito). O token JWT trafega automaticamente, mantendo as regras no lugar certo.
Stack técnica por camada
Frontend
- React 18 + TypeScript + ViteUI com React Router, Axios (interceptors de JWT), React Hook Form e Zod
Backend (auth)
- .NET 8 + ASP.NET Core Web APICadastro, login e emissão de JWT com BCrypt e EF Core
Backend (reservas)
- Python + FastAPI + SQLAlchemyCRUD de reservas com validação de conflito e migrações Alembic
Banco de dados
- SQL Server + PostgreSQLUm banco relacional por serviço, com versionamento de schema
* Versões exatas e detalhes de configuração são informados na proposta, conforme a personalização escolhida.
Funcionalidades principais
- Autenticação e cadastro com senha hasheada (BCrypt) e JWT
- Injeção automática do token nas requisições (interceptor)
- Gestão de reservas com tratamento de conflitos de horário
- Documentação Swagger nos dois backends
- Validação tipada de formulários (React Hook Form + Zod)
O que dá para personalizar
- Adicionar salas por andar/filial, equipamentos e regras de horário
- Integrar ao calendário corporativo (Outlook/Google)
- Incluir aprovação de gestor e relatórios de ocupação
- Trocar camadas: frontend→Angular, auth→Node/Python, bancos→SQL Server/PostgreSQL puro
Cada alteração de camada ou funcionalidade entra no orçamento com prazo e custo transparentes — o software é seu, não uma caixa fechada.