Clips
Sistema web em que o bolsista registra as horas da bolsa, completa o mês automaticamente a partir da grade semanal e das atividades padrão e baixa o relatório mensal em PDF.
- Papel
- Concepção e desenvolvimento
- Período
- 2025 – 2026
- Tipo
- Sistema web

O problema
Todo mês o bolsista precisa entregar um relatório com as horas cumpridas, dia a dia, até atingir a carga horária da bolsa. Montar isso à mão em planilha toma tempo e é fácil errar a conta de dias úteis, feriados e meta mensal.
Requisitos
Funcionais
- Cadastrar os dados da bolsa, a grade semanal com período de validade, as atividades padrão com prioridade e os feriados próprios.
- Lançar as atividades de cada dia com horário de início e fim.
- Completar o mês com a grade semanal e as atividades padrão, primeiro de manhã e depois à tarde.
- Gerar o relatório mensal em PDF.
- Convidar pessoas por e-mail, com link para criar a senha válido por 7 dias, e bloquear ou desbloquear o acesso.
Regras de negócio
- A meta diária é a carga horária semanal dividida por 5, e a meta do mês é a meta diária vezes os dias úteis.
- Dias úteis vão de segunda a sexta, exceto feriados nacionais e os cadastrados pelo bolsista.
- O preenchimento automático nunca altera nem sobrepõe um lançamento manual.
- A prioridade define quantas vezes cada atividade padrão é usada (alta 3, média 2, baixa 1).
- O relatório lista apenas os dias úteis, e horas em fins de semana e feriados ficam fora do total.
- Não existe cadastro aberto.
Minha contribuição
A primeira versão, de dezembro de 2025, foi feita em Next.js com Prisma e já resolvia o mês de um bolsista, mas não tinha convites nem administração de usuários. Em 2026 reescrevi a aplicação em Laravel com Inertia e Vue e cobri as regras com 68 testes em Pest e 15 em Vitest. O botão de completar o mês lança a grade semanal nos dias em que ela vale e preenche cada dia útil até a meta com as atividades padrão, em rodízio pela prioridade, sem nunca alterar um lançamento manual. A meta considera feriados nacionais e os cadastrados pelo bolsista, e o relatório em PDF lista apenas os dias úteis. O acesso é só por convite, com administração de usuários, e o deploy acontece pelo Laravel Forge depois que os testes passam no CI.
Destaques do projeto
- 1 cliquepara completar o mês
- PDFrelatório mensal pronto para entregar
- Por conviteacesso controlado por administradores
Tecnologias
Laravel 13, Inertia 3, Vue 3, TypeScript, PrimeVue 5, Tailwind CSS v4, PostgreSQL, Pest
Modelo de dados


Telas do sistema
