Medication Reminder
Health & Fitness · React + Node (Express) · 18 @molecule/* packages
Medisafe-like medication reminder with schedules, dose tracking, refill alerts, and adherence reports — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (16)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - Medications
/medications(signed in) - AddMedication
/medications/new(signed in) - MedicationDetail
/medications/:id(signed in) - Schedule
/schedule(signed in) - Caregivers
/caregivers(signed in) - Settings
/settings(signed in) - Profile
/profile(signed in) - Notifications
/notifications(signed in) - AdherenceReport
/reports(signed in) - Refills
/refills(signed in)
Data model (9 tables)
- caregiver_notifications — id, caregiver_id, dose_log_id, refill_request_id, kind, payload, sent_at, read_at, …
- caregivers — id, owner_user_id, caregiver_email, caregiver_user_id, permission, invite_token, accepted_at, created_at, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- dose_logs — id, schedule_id, medication_id, user_id, scheduled_at, scheduled_date, scheduled_time, taken_at, …
- medication_schedules — id, medication_id, user_id, frequency_kind, time_of_day, times_of_day, days_of_week, interval_days, …
- medications — id, user_id, name, generic_name, dosage_amount, dosage_unit, dosage, form, …
- notifications — id, user_id, kind, title, body, href, payload, read, …
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
- refill_requests — id, medication_id, user_id, pharmacy, days_supply_remaining, status, requested_at, contacted_at, …
API (9 handlers)
- adherence
api/src/handlers/adherence.ts - caregivers
api/src/handlers/caregivers.ts - doses
api/src/handlers/doses.ts - medications
api/src/handlers/medications.ts - notifications
api/src/handlers/notifications.ts - refills
api/src/handlers/refills.ts - reports
api/src/handlers/reports.ts - schedules
api/src/handlers/schedules.ts - settings
api/src/handlers/settings.ts
Subscription tiers
free / pro / team — gated by: maxAdherence, maxDoses, maxMedications, maxRefills, maxSchedules, advancedFeatures, canExport, retentionDays
Built from 18 @molecule/* packages
@molecule/api-cron-node-cron@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-import-export-csv@molecule/api-payments-stripe@molecule/api-push-notifications-web-push@molecule/api-reporting-database@molecule/api-resource-payment@molecule/api-resource-user@molecule/app-billing-react@molecule/app-calendar@molecule/app-charts@molecule/app-command-palette@molecule/app-data-table@molecule/app-notification-feed-react@molecule/app-sidebar-layout-react
Required secrets
DATABASE_URLPostgreSQL connection stringVAPID_PUBLIC_KEYVAPID public key for push notificationsVAPID_PRIVATE_KEYVAPID private key for push notificationsMAILGUN_API_KEYMailgun API key for email notificationsMAILGUN_DOMAINMailgun domain
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing