Flask-based system for managing laboratory reservations.
Sistema web para gerenciamento de reservas de laboratórios, desenvolvido com foco em:
- arquitetura modular
- separação de responsabilidades
- escalabilidade
- facilidade de manutenção
- Flask
- SQLAlchemy
- Jinja2
- Docker
- Gunicorn
Routes → Services/Helpers → DAO → Models → Database
↑
Auxiliar
O sistema segue uma arquitetura em camadas com separação clara entre:
- interface
- domínio
- acesso a dados
- utilidades
app/
├── routes/ → endpoints HTTP organizados por domínio
├── models/ → entidades ORM
├── dao/ → queries e acesso a dados
├── auxiliar/ → helpers desacoplados
├── routes_helper/ → utilidades específicas de rotas
├── security/ → criptografia
└── templates/ → interface HTML
Gerar localmente:
./tools/quick_tree_generator.shou no formato .txt
./tools/update_structure.sh- Rotas não fazem query direta\
- DAO não possui regra de negócio\
- Helpers não dependem de rotas\
- Parsing isolado\
- Queries isoladas\
- Templates organizados por domínio
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.dev.example .env.dev
cp .env.example .env
python -m appgunicorn -w 4 -b 0.0.0.0:5000 wsgi:apppytestThese are ideas that could be implemented in the future if needed:
- WTForms integration
- Large-table pagination optimization
- Single-session login enforcement
- Performance tuning for heavy queries
- More automated tests to improve stability
- Blueprints registered automatically
- Multi-environment configuration
- Container-ready