
Meus Compromissos
Aplicação web de planejamento semanal com horas disponíveis, tarefas por categoria, acompanhamento de progresso e renovação automática do ciclo.
- Ano
- 2024
- Tipo
- Open Source
- Situação
- Em produção
- Código
- Aberto
Tecnologias
- Ruby on Rails
- Ruby
- PostgreSQL
- Sidekiq
- Tailwind CSS
- Stimulus

Sobre o projeto
O Meus Compromissos é uma aplicação web de código aberto para planejar a semana com base no tempo disponível. Cada tarefa recebe uma quantidade de horas, e o painel mostra quanto da capacidade semanal já foi comprometido.
Problema
Uma lista de tarefas mostra o que precisa ser feito, mas nem sempre evidencia se há tempo para cumprir tudo. Sem relacionar atividades e horas disponíveis, fica mais difícil distribuir os compromissos ao longo da semana.
Solução
O usuário define sua disponibilidade semanal e cadastra tarefas com categoria e horas alocadas. O painel apresenta horas livres, progresso e tarefas em andamento, concluídas ou arquivadas. Os gráficos complementam essa visão com a distribuição por categoria.
Minha atuação
Desenvolvi o projeto integralmente, incluindo a modelagem de dados, as regras do ciclo semanal, as tarefas agendadas, as notificações, os testes e a interface. O código está disponível no GitHub.
Principais funcionalidades
- Definição de horas disponíveis por semana
- Tarefas com tempo alocado, categoria e status
- Indicadores de horas livres e progresso
- Gráficos por categoria
- Notificações no navegador
- Consulta do tempo restante no ciclo semanal
Arquitetura e decisões técnicas
A aplicação utiliza Ruby on Rails e PostgreSQL, com Tailwind CSS, Stimulus e Turbo na interface.
Uma tarefa do Sidekiq, agendada com sidekiq-scheduler para executar duas vezes por dia, verifica os ciclos semanais. Quando um ciclo completa sete dias, a tarefa o encerra, cria o seguinte e transfere as atividades não concluídas. Essas operações ocorrem em uma transação no banco para manter os registros consistentes.
As notificações utilizam Web Push, com tratamento de inscrições expiradas ou inválidas. O PaperTrail mantém o histórico das tarefas, o Devise cuida da autenticação e o Rails ERD documenta o modelo de dados em um diagrama.
A validação do projeto inclui testes de sistema com Capybara e análise de segurança com Brakeman.
Resultado
Aplicação publicada, com código aberto no GitHub.
Tecnologias
Ruby on Rails, Ruby, PostgreSQL, Sidekiq, Tailwind CSS, Stimulus, Devise, PaperTrail e Web Push.