Pular para o conteúdo
Todos os projetos
Logo do Medicare

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
Imagem do projeto Medicare

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.