
Medicare
Aplicação web de código aberto para organizar medicamentos domésticos, com controle de quantidade, validade, vínculos familiares e histórico de alterações.
- Ano
- 2025
- Tipo
- Open Source
- Situação
- Em desenvolvimento
- Código
- Aberto
Tecnologias
- Ruby on Rails
- Ruby
- PostgreSQL
- Tailwind CSS
- Stimulus

Sobre o projeto
O Medicare é uma aplicação web em desenvolvimento para organizar os medicamentos de uma casa. Reúne quantidades, validades, informações cadastradas sobre sintomas e os familiares que utilizam cada medicamento.
Problema
Medicamentos guardados em diferentes gavetas e caixas dificultam a consulta do estoque e das datas de validade. Em uma casa com várias pessoas, também é necessário registrar quais medicamentos estão associados a cada familiar.
Solução
A aplicação centraliza os registros dos medicamentos, incluindo quantidade, forma de apresentação, validade e sintomas associados. Permite vincular medicamentos aos familiares e consultar o histórico de alterações nos cadastros.
Minha atuação
Desenvolvi o projeto de código aberto, incluindo modelagem de dados, regras de validação, autenticação, permissões, interface e configuração de publicação.
Principais funcionalidades
- Cadastro de medicamentos com unidade, quantidade, validade e forma de apresentação
- Associação de medicamentos a sintomas cadastrados
- Anexos de foto e bula
- Identificação de medicamentos vencidos ou próximos do vencimento
- Cadastro de familiares e vínculo com medicamentos
- Histórico de alterações
- Perfis de usuário e administrador
- Temas claro e escuro
Arquitetura e decisões técnicas
A aplicação utiliza Ruby on Rails e PostgreSQL, com Tailwind CSS, Stimulus e Turbo na interface. Essa estrutura reúne páginas e regras de negócio na mesma aplicação.
O Devise cuida da autenticação, e o CanCanCan define permissões por perfil. O PaperTrail registra versões dos cadastros de medicamentos, centralizando o histórico de alterações.
As regras de negócio ficam nos modelos. A validação impede o cadastro de medicamentos já vencidos, e as consultas de itens vencidos ou próximos do vencimento são reutilizadas pelas telas. Ransack e Kaminari atendem à busca e à paginação, enquanto o Bullet foi utilizado no desenvolvimento para identificar consultas N+1, que geram acessos repetidos ao banco.
As notificações da interface utilizam o Rails Toastify, outra gem de código aberto que desenvolvi e publiquei.
Resultado
Projeto em desenvolvimento, com código disponível no GitHub.
Tecnologias
Ruby on Rails, Ruby, PostgreSQL, Tailwind CSS, Stimulus, Devise, CanCanCan e PaperTrail.