Skip to content

gioagostineli/ThermoSafe

Repository files navigation

🏛️ Institucional & Regulatório

ANVISA RDC 430 Alinhado LGPD Ready FDA 21 CFR Part 11 Alinhao WHO GDP Carbon Neutral Alinhado Made in Brazil ESG ISO 27001 Alinhado ODS

⚙️ Tecnologia & Operação

Python 3.13 Streamlit Flask MariaDB AWS Made in Brazil Docker GitHub Actions ESP32


  • Aviso: As badges ANVISA/RDC 430 e LGPD indicam alinhamento e boas práticas.
  • Não constituem atestado oficial ou certificação por parte das autoridades competentes.

👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓ThermoSafe — Temperatura e Umidade (24×7)👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓

🔎 Visão Geral

ThermoSafe é uma plataforma de monitoramento contínuo (24×7) de temperatura e umidade para cadeias frias (farmácias, hospitais, laboratórios e supermercados), com alertas em tempo real, dashboards e histórico auditável — tudo com foco em confiabilidade, segurança e conformidade regulatória.

  • Front-end Web (site institucional): páginas Home, Soluções, Setores, Clientes, Contato e Política de Privacidade (Politica.html).
  • Aplicação: painéis (Streamlit), API (Flask), IoT (ESP32) e banco MariaDB (RDS/Aurora).
  • Destaques: tema escuro, navegação responsiva, logs de ações, gráficos e importação CSV.
  • HTML: Para a gestão de Traffic Tracker, criou-se uma função com acesso a banco de dados na nuvem sem captura de dados do user e não use o Google Analitycs.
  • Para demonstração em sala do Traffic Tracker, o link temporariamente será concedido no click do logo e posteriormente somente para link direto.
  • CSS: utilizou um arquivo Token (Todas as variáveis padrão) Index (para a estrutura base) Específico (Detalhes inerentes a cada página).
  • Formatação VS Code: foi disponibilizado no diretorio raiz, 2 arquivos para garantir a padronização de tabs e padrão para HTML, CSS, JS. Os arqivos .editorconfig e .prettierrc devem ser colocados na mesma pasta do index.html.

http://localhost:8080 site

http://localhost:8081 phpMyAdmin

Slogan: Confiabilidade em cada número.

🚀 Principais Recursos

  • Leituras em tempo real (ESP32) com buffer offline e reenvio confiável.
  • Alertas multicanal (WhatsApp/e-mail) quando a temperatura sai do range.
  • Dashboards com séries temporais, estatísticas e comparativos.
  • Auditoria completa (tabelas de logs e triggers de sistema).
  • Segurança: TLS 1.2/1.3, LGPD, segregação de acessos e registros de auditoria.
  • Integração com bancos MariaDB/Aurora (AWS RDS) e armazenamento em S3.
  • Escalabilidade: arquitetura pronta para centenas/milhares de módulos (ESP32).

🧭 Páginas do Site

  • README.MD — Descritivo geral do Site
  • index.html — Página inicial (visão geral e diferenciais)
  • solucoes.html — Produtos e serviços oferecidos
  • setores.html — Setores atendidos (saúde, varejo, etc.)
  • clientes.html — (opcional) Vitrine de clientes
  • contato.html — Formulário de contato (WhatsApp/telefone)
  • editorconfig — para config do vs code
  • prettierrc — para config do vs code
  • docker-compose.yml — para montagem do espelho do mysql+apache
  • dockerfile — parametros para o build do docker-compose.yml
  • assetsDIRETÓRIO assets
  • assets/documents — Documentos auxiliares politica de privacidade
  • assets/font — Font externa para Font-Face
  • assets/images/cliente — Logo dos clientes do Grupo Union
  • assets/images/evolucao — Quadro sintético da história da Union, com 3 tamanhos
  • assets/images/favicon — Icon para utilização como FAVICON
  • assets/images/fundo — Imagem de fundo do site
  • assets/images/logo — Logo em 3 tamanhos para responsividade
  • assets/js/ts-track.js — Programa JavaScript para captação do Traffic Tracker, amplamente comentado
  • assets/styles/style-*.css — Estilos do tema institucional
  • analyticsDIRETÓRIO analytics
  • analytics/config.php — para configurar o banco de dados
  • analytics/track.php — é o traffic tracker
  • analytics/admin/.htaccess — Arquivo de acesso
  • analytics/admin/config.admin.php — configuração de senhas
  • analytics/admin/dashboard.php — dashboard de estatísticas
  • analytics/admin/guard.php — para sair em caso de erro
  • analytics/admin/config.login.php — login
  • analytics/admin/config.logout.php — logout
  • Docto-Paulo — Briefing para Paulo

👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓 Padrão de Formatação👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓

  • Este projeto utiliza arquivos de configuração para manter padronização de código entre todos os desenvolvedores.

📌 Arquivos incluídos

  • .editorconfig → garante indentação consistente (tab = 4 espaços).
  • .prettierrc → configura o Prettier/VSCode para formatar HTML, CSS e JS de forma padronizada.

⚙️ Como usar no VSCode

  1. Instale a extensão EditorConfig for VS Code, a partir do ícone extensão do VS Code.
  2. Instale a extensão Prettier - Code formatter, a partir do ícone extensão do VS Code.
  3. Certifique-se de que o Prettier é o formatador padrão:
    • Pressione Ctrl + Shift + P → "Format Document With..."
    • Selecione Prettier e clique em Set as Default.
  4. Para formatar um arquivo manualmente: Shift + Alt + F.

✅ Resultado

  • Sempre que salvar, o código será reformatado automaticamente:
    • Indentação: Tab equivalente a 4 espaços.
    • HTML/CSS/JS: mesmo estilo para toda a equipe.
    • Quebra de linha: padrão Unix (LF).

✅ Banco de Dados do Traffic Tracker

  • Visualização das estatísticas no banco de dados:
image

✅ DashBoard

  • Visualização das estatísticas por meio visual no próprio Site:
image image

👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓 Plataforma ThermoSafe👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓

  • Uma pequena descrição de como foi feito a Plataforma ThermoSafe para os usuários e operação do sistema.

Segurança

  • Criptografia ponta a ponta (TLS 1.2/1.3; opção mTLS por dispositivo).
  • Pseudonimização e perfis de acesso mínimos (LGPD).
  • Logs e trilhas de auditoria (tabelas de log e status flags).

🗄️ Banco de Dados (convenções)

  • Prefixo de tabelas: t_ (ex.: t_leituras, t_logs, t_realtime, t_configuracao).
  • Convenção de variáveis no código: prefixo m_ (ex.: m_arquivo_selecionado).
  • Exemplos de campos:
    • t_leituras.f_status: 1=ok, 2=falta cadastro do monitor, 3=falta cadastro na farmácia, 4=faltou canal1, 5=faltou canal2.
    • t_monitores.status_operacional: derivado de data_ultima_leitura vs. parâmetro em t_configuracao.

Consulte a modelagem/ERD para entidades complementares (monitores, incidentes, triggers, integrações).

⚙️ Setup Rápido (Apenas para o Desenvolvimento!!!)

Pré-requisitos

  • Python 3.13+
  • pip e virtualenv
  • MariaDB local (ou conexão RDS/Aurora)

1) Clonar e criar venv

git clone <URL_DO_REPOSITORIO>
cd ThermoSafe
python -m venv venv
# Windows PowerShell
.\venv\Scripts\Activate.ps1

2) Dependências

Crie/edite requirements.txt (exemplo mínimo):

mysql-connector-python>=9.0.0
python-dotenv>=1.0.1
flask>=3.0.0
streamlit>=1.25.1
plotly>=5.24.0
pandas>=2.2.2

Instale:

pip install -r requirements.txt

3) Variáveis de ambiente

Crie um .env (NÃO COMMITAR) com algo como:

# Banco
DB_HOST=localhost
DB_USER=root
DB_PASS=senha_aqui
DB_NAME=thermo_dados

# Flask
FLASK_SECRET=troque_isto
FLASK_PORT=5003

# Streamlit
STREAMLIT_PORT=8507

4) Rodar

API Flask:

python app.py
# ou
flask --app app run --port %FLASK_PORT% --host 0.0.0.0

Dashboards Streamlit:

streamlit run dashboard.py --server.port %STREAMLIT_PORT%

🧪 Qualidade e Observabilidade

  • Logs de aplicação + t_logs e t_log_trigger no banco.
  • Alertas para incidentes e quedas (watchdog, health checks).
  • Backups diários; restauração testada; multi-AZ (RDS).

👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓ThermoSafe e os Stakeholders👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓

📄 Licença

Distribuído sob licença MIT (para o site da ThermoSafe).

Para aquisição dos Serviços da ThermoSafe, faça um contato com a área comercial

📬 Contato

ThermoSafeConfiabilidade em cada número.

  • E-mail: thermosafe2030@gmail.com
  • Telefone: 55.11.98077.1968

👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓Check-List👩‍🎓👩‍🎓👩‍🎓👩‍🎓👩‍🎓 image

Check-List conferido no arquivo ThermoSafe/Docto-Paulo

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •