Bhargav Adepu

NO. 08PRODUCT · SHIPPEDAPRIL 2025 – PRESENT

PharmaCare

Medication management with a donation pipeline for unused stock

BackendSpring Boot 3Java 17
AuthJWT + OAuth2Spring Security, Google
API docsOpenAPISwagger UI
RolesUser + pharmacyseparate portals

React · Vite · TypeScript · Tailwind CSS · Spring Boot 3 · Java 17 · PostgreSQL · Spring Security · Maven

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.