Este projeto visa informatizar e otimizar o fluxo de atendimento de pacientes no Instituto Lauro de Souza Lima, em Bauru - SP, tornando o processo mais eficiente, seguro e humanizado para profissionais e pacientes.
-
📋 Cadastro do Paciente
- Recepcionista cadastra paciente com dados pessoais e agendamento
- Sistema valida CPF e dados automaticamente
-
🎫 Chegada e Fila de Espera
- Paciente chega e é direcionado para o guichê
- Recebe senha de acordo com o tipo de atendimento
-
📢 Chamada Automática
- Guichê ou profissional de saúde chama próximo paciente via painel
- Sistema envia notificação automática via SMS/WhatsApp
- Paciente é direcionado para o guichê ou sala correta
-
👨⚕️ Atendimento
- Profissional confirma início do atendimento
- Sistema registra horário de entrada na consulta
-
✅ Finalização
- Profissional confirma fim do atendimento
- Sistema registra horário de saída e atualiza displays
- TV do Guichê: Mostra fila atual e próximos pacientes
- TV das Salas: Exibe paciente atual e sala de destino
- Painel do Administrador: Controle total do sistema
- Administrador: Controle total, relatórios e configurações
- Recepcionista: Cadastro de pacientes e gerenciamento de filas
- Profissional de Saúde: Chamada de pacientes e controle de consultas
- Guichê: Atendimento inicial e distribuição de senhas
- Status online/offline dos funcionários (bolinhas coloridas)
- Displays atualizados automaticamente a cada 5 segundos
- Relatório HTML detalhado de testes de integração
- Logs visuais categorizados por etapas (Recepcionista, Guichê, Profissional)
- Estatísticas de cobertura e performance dos testes
- Notificações automáticas via SMS/WhatsApp para guichê e profissionais de saúde
- Relatório visual de testes com logs detalhados das notificações
- Python 3.11+
- PostgreSQL (produção) ou SQLite (desenvolvimento)
- Git
# 1. Clone o repositório
git clone https://github.com/lack0fcode/python-sga-LSL-Univesp.git
cd python-sga-LSL-UnivespDATABASE_URL_EXAMPLE="postgresql://<username>:<password>@<host>:<porta>/<database>?sslmode=require"python -m venv venv
source venv/bin/activate # Linux/Mac
.\venv\Scripts\activate # Windowspip install -r requirements.txt
# 3. Configure o banco de dados
python manage.py migrate
# 4. Crie um superusuário
python manage.py createsuperuser
# 5. Rode o servidor
python manage.py runserverAcesse http://127.0.0.1:8000/ e faça login!
# Testes completos
python manage.py test --settings=sga.tests.settings_test
# Com cobertura (excluindo arquivos de análise)
coverage run --source=. --omit="bandit_Rodar.py,bandit_analisar.py,test_fluxocompleto2.py" manage.py test tests --pattern="*test*.py" --settings=sga.tests.settings_test
coverage report
# Teste de fluxo completo com relatório HTML
python test_fluxocompleto2.py- ✅ 195 testes automatizados cobrindo funcionalidades críticas
- ✅ 96% de cobertura de testes automatizados
- ✅ Análise de segurança com Bandit e Safety
- ✅ Linting com Flake8 e Black
- ✅ Type checking com MyPy
- ✅ CI/CD automatizado no GitHub Actions
- ✅ Workflow completo com testes, linting e segurança
- ✅ Relatórios automáticos de cobertura e análise de segurança
- 🔒 Autenticação robusta com bloqueio contra força bruta
- 🛡️ Validação completa de CPF e dados pessoais
- 🔐 Controle de acesso por funções (Admin, Recepcionista, Profissional, Guichê)
- 🚫 Proteção contra ataques XSS, CSRF, SQL Injection
- 📱 Sanitização completa de todas as entradas
- Backend: Python 3.11+ com Django 4.2
- Banco de Dados: PostgreSQL (produção) / SQLite (desenvolvimento)
- Frontend: HTML5, CSS3, JavaScript (jQuery, Bootstrap)
- APIs: Twilio (SMS/WhatsApp)
- Testes: pytest, Coverage.py, unittest.mock
- Qualidade: Black, Flake8, MyPy, Bandit, Safety
- CI/CD: GitHub Actions
- Relatórios: HTML dinâmico com estatísticas visuais
- Fork o projeto
- Clone sua fork:
git clone https://github.com/SEU_USERNAME/python-sga-LSL-Univesp.git - Crie uma branch para sua feature:
git checkout -b minha-feature - Faça suas mudanças seguindo os padrões do projeto
- Execute os testes:
python manage.py test --settings=sga.tests.settings_test - Commit suas mudanças:
git commit -m 'feat: descrição da feature' - Push para sua branch:
git push origin minha-feature - Abra um Pull Request
feat:para novas funcionalidadesfix:para correções de bugsdocs:para documentaçãorefactor:para refatoração de códigotest:para testes
Para dúvidas ou problemas:
- 🐛 Issues: GitHub Issues
- 📖 Documentação: Este README e comentários no código
Instituto Lauro de Souza Lima - Bauru/SP
Sistema desenvolvido para otimizar o atendimento médico e melhorar a experiência de pacientes e profissionais.