S.09ProductApril 2025 – presentshipped

PharmaCare

Medication management with a donation pipeline for unused stock

A medication management platform solving two connected problems: helping people stay on top of their prescriptions, and routing unused, unexpired medicine to someone who needs it instead of a bin.

Backend
Spring Boot 3
Java 17
Auth
JWT + OAuth2
Spring Security, Google
API docs
OpenAPI
Swagger UI
Roles
User + pharmacy
separate portals

PharmaCare is a full-stack medication management platform: a Spring Boot 3 backend on Java 17, a React and TypeScript frontend built with Vite and Tailwind, and PostgreSQL underneath.

Two problems, one system

Users add and track medications with dosage and frequency schedules, set customisable reminders, and view an adherence dashboard. A rewards system gives points and achievements for consistent adherence. For families, PharmaCare supports adding members with permission-based access, so a caregiver can manage medications and reminders for the people they look after.

The standout feature is the donation system. Users list unused, unexpired medications for donation, and pharmacies get a dedicated portal to review, accept or reject donations and track statistics — turning what would otherwise be wasted medicine into a resource for someone who needs it. That requires two distinct role-based interfaces over one dataset, which is where most of the authorisation complexity lives.

Auth and API surface

Authentication runs through Spring Security with JWT plus Google OAuth2, and the REST API is fully documented with Swagger and OpenAPI. Configuration is split so that secrets — database credentials, JWT signing key, OAuth client secret, SMTP password — are supplied by environment variables or a gitignored local properties file rather than committed, which is the kind of thing that is boring to do and expensive to skip.

Search only: every answer quotes this site and links its source. Nothing is generated.