Habit
Analyzer
Aplicativo web de acompanhamento de hábitos com API REST e dashboard de visualização de progresso.
TL;DR — 1 minuto
Registrar hábitos e acompanhar evolução tende a virar planilha ou nota solta, com pouco insight e baixa consistência.
Backend em FastAPI + JWT e frontend Next.js com fluxo de registro e gráficos por hábito.
MVP funcional com Docker Compose, OpenAPI e testes, além de otimização de leitura em janelas grandes.
Snapshot
Problema & Impacto
- Sintoma Registro manual disperso e pouca visibilidade do progresso ao longo do tempo.
- Causa Dados sem modelo único e sem uma visualização agregada do histórico por hábito.
- Impacto Baixa aderência ao acompanhamento e decisões piores sobre rotina por falta de sinal.
Abordagem
Estruturar hábitos, registros e resumos analíticos em Postgres com contratos claros para persistência e evolução via migrações.
Disponibilizar uma API REST com FastAPI, autenticação JWT e documentação Swagger/OpenAPI para reduzir atrito de integração.
Entregar dashboard web em Next.js com registro rápido, gráficos por hábito e leitura eficiente de janelas temporais maiores.
Confiabilidade
Dados inconsistentes, regressão de autenticação e divergência entre resumo e série temporal.
Pydantic para validação, Alembic para migrações e testes unitários + E2E no fluxo crítico.
Trecho da estratégia de resumo com cache versionado e fallback entre leitura direta e pré-agregada.
def get_habit_summary(self, user_id, habit_id, days=30): cache_key = (str(user_id), str(habit_id), days, int(habit.summary_version or 0)) use_daily = settings.USE_SUMMARY_DAILY and days <= settings.SUMMARY_WINDOW_DAYS if use_daily: rows = self.record_repo.get_summary_daily(habit_id, start_date, end_date) else: records = self.record_repo.get_by_date_range(habit_id, start_date, end_date) return result
Extensões & Próximos passos
- Adicionar metas, streaks e lembretes para reforçar aderência.
- Expandir relatórios semanais e mensais com filtros por hábito.
- Incluir observabilidade de API e erros para evolução segura do produto.
Precisa de um MVP com API, autenticação e dashboard de visualização?
Desenho a arquitetura, implemento o fluxo crítico e valido a entrega com documentação e testes.