Sistema de ponto eletrônico com gamificação, wellness tracking e analytics em tempo real.
Aplicação web full-stack desenvolvida com Python/Flask que transforma o controle de jornada em uma
experiência inteligente — combinando registro de ponto, mood tracker, focus timer (Pomodoro),
conquistas gamificadas, wellness score e dashboards administrativos em tempo real.
Pontto é um sistema de ponto eletrônico completo que transforma o registro de jornada em uma experiência inteligente. Além do controle de entrada e saída, o sistema monitora o bem-estar dos colaboradores, gamifica a consistência e entrega analytics acionáveis para gestores.
Projetado para uso diário em equipes reais, com interface responsiva, dark mode e arquitetura modular.
O Pontto combina funcionalidades que não existem juntas em nenhum sistema de ponto do mercado:
Backend Python 3.10+ · Flask 3.0 · SQLAlchemy · Flask-Login
Frontend Bootstrap 5.3 · Chart.js 4.4 · Inter (Google Fonts)
Banco SQLite (desenvolvimento) — compatível com PostgreSQL
Auth Werkzeug (bcrypt hashing) · sessões seguras
Arquitetura Blueprints · MVC · API REST interna
Pontto/
├── app.py # Factory da aplicação
├── config.py # Configurações via variáveis de ambiente
├── extensions.py # Instâncias de SQLAlchemy e LoginManager
├── models.py # Modelos: Usuario, RegistroPonto, MoodLog, Conquista, SessaoFoco
├── run.py # Entrypoint
├── requirements.txt # Dependências Python
├── .env.example # Template de variáveis de ambiente
│
├── routes/
│ ├── auth.py # Login, logout, perfil
│ ├── ponto.py # Dashboard, registro, mood, foco, histórico, conquistas
│ ├── admin.py # Painel admin, funcionários, relatórios
│ └── api.py # Endpoints JSON: presença, analytics, tema
│
├── templates/
│ ├── base.html # Layout principal com navbar e tema
│ ├── login.html # Tela de login
│ ├── dashboard.html # Dashboard com clock, stats, mood, foco, gráficos
│ ├── historico.html # Histórico mensal com charts
│ ├── perfil.html # Perfil do colaborador
│ ├── conquistas.html # Galeria de conquistas
│ └── admin/
│ ├── painel.html # Painel administrativo com team heatmap
│ ├── funcionarios.html
│ ├── form_funcionario.html
│ └── relatorio.html
│
└── docs/ # GitHub Pages (demo estática)
└── index.html
- Registro de ponto em 1 clique — 4 batidas diárias (Entrada, Saída Almoço, Volta Almoço, Saída)
- Relógio em tempo real com o próximo tipo de registro destacado
- Mood & Energy Tracker — seleção visual de humor (5 níveis) e energia a cada dia
- Focus Timer — Pomodoro configurável (25/5/15 min) com XP automático
- Histórico mensal com gráficos de horas e tendência de humor
- Saldo de horas calculado automaticamente contra carga horária esperada
- Sistema de XP — +5 XP por batida, +3 XP por mood, +10 XP por sessão de foco
- Streaks — dias consecutivos de ponto com indicador visual
- 10 Conquistas — Primeiro Passo, Constância, Dedicação, Inabalável, Pontualidade, Mestre do Foco, Madrugador, Equilíbrio, Centurião, Veterano
- Wellness Score — índice de 0 a 100 que cruza humor, energia e padrões
- Dark/Light mode persistente
- Dashboard executivo — funcionários ativos, presentes hoje, total de registros
- Team Presence Heatmap — status em tempo real de cada colaborador (presente, almoço, saiu, ausente)
- CRUD de funcionários — cadastro, edição, ativação/desativação, definição de admin
- Relatório mensal — horas por funcionário, dias trabalhados, wellness score
- Filtros por mês, ano e funcionário
| Método | Rota | Descrição |
|---|---|---|
GET |
/api/team-presence |
Status de presença de toda a equipe |
GET |
/api/mood-analytics |
Dados de humor dos últimos 30 dias |
GET |
/api/horas-semana |
Horas trabalhadas na semana corrente |
POST |
/api/toggle-theme |
Alterna dark/light mode do usuário |
Usuario ──┬── RegistroPonto (entrada, saída_almoço, volta_almoço, saída)
├── MoodLog (humor 1-5, energia 1-5, nota)
├── UserConquista ── Conquista (10 tipos)
└── SessaoFoco (pomodoro, pausas)
1. Copie o template de variáveis de ambiente:
cp .env.example .env
2. Edite o .env com suas configurações:
SECRET_KEY=sua-chave-secreta
NOME_EMPRESA=Nome da Empresa
CARGA_HORARIA_DIARIA=8
3. Instale as dependências:
pip install -r requirements.txt
4. Execute:
python run.py
5. Acesse http://localhost:5000
Credenciais padrão:
admin@empresa.com/admin123
Acesse a demo online para ver a interface completa.
- Exportação para PDF/Excel
- Notificações por e-mail
- Geolocalização na batida
- PWA (Progressive Web App)
- Integração com Slack/Teams
- Deploy com Docker
Distribuído sob a licença MIT. Veja LICENSE para mais informações.
Desenvolvido por jovemegidio