Medication Adherence Tracker (MAT) is a full-stack, cross-platform healthcare application designed to help patients manage their medications, track adherence, and receive timely reminders.
The system also enables providers and administrators to monitor adherence trends and manage patient care efficiently.
This project was developed as the final course project for CS 555 โ Agile Methods for Software Development.
Link:https://youtu.be/MbRiTFZXNvg
Medication non-adherence is a major challenge in healthcare. MAT addresses this problem by providing:
- Structured medication scheduling
- Automated reminders
- Adherence logging and analytics
- Secure, role-based access for patients, providers, and admins
The application is built using a React Native (Expo) frontend and a Node.js + Express + MongoDB backend.
-
๐ Secure Authentication
- JWT-based authentication
- Role-based access (Patient, Provider, Admin)
-
๐ Medication Management
- Add, edit, delete medications
- Dosage, frequency, and schedule support
-
โฐ Smart Reminders
- Scheduled reminders for medication intake
- Local and push notification support (Expo)
-
๐ Adherence Tracking
- Logs taken and missed doses
- Enables adherence trend analysis
-
๐จโโ๏ธ Provider Dashboard
- View assigned patients
- Monitor adherence reports
-
๐ ๏ธ Admin Controls
- User and role management
- System-level monitoring
-
โ๏ธ Secure Cloud Storage
- MongoDB for persistent data storage
-
๐ค AI Chatbot
- Integrated using OpenAI API
- Requires a valid OpenAI API key
Frontend (React Native / Flutter)
โ
โผ
Express.js API
โ
โผ
MongoDB Services
โโโ MongoDB (DB)
โโโ Authentication
โโโ Cloud Storage| Category | Tools & Technologies |
|---|---|
| Frontend | React Native, Expo, TypeScript |
| Backend | Node.js, Express.js |
| Database & Cloud | MongoDB |
| AI Integration | OpenAI API |
| Notifications | Expo Notifications |
| Authentication | JWT |
| Version Control | GitHub (Team Repository) |
| Project Management | Jira / Excel (User Stories, Burndown, Velocity) |
| Communication | Slack (Team & Instructor Updates) |
| CI/CD | Github Actions |
- ๐งพ User Registration & Login: Users authenticate securely.
- ๐ Medication Entry: Users input medicine name, dosage, and schedule.
- โฐ Reminders Triggered: System sends alerts at the scheduled times.
- ๐ Adherence Monitoring: Tracks intake behavior and displays completion stats.
- โ๏ธ Data Stored in MongoDB: Ensures secure, real-time cloud storage for all records.
Medication-Adherence-Tracker/
โ
โโโ .github/
โ โโโ workflows/
โ โโโ ci.yml # GitHub Actions CI pipeline
โ
โโโ backend/
โ โโโ config/ # Database & app configuration
โ โโโ controllers/ # Route controllers (business logic)
โ โโโ middleware/ # Auth & request middleware
โ โโโ models/ # Mongoose schemas
โ โโโ routes/ # Express API routes
โ โโโ tests/ # Backend unit & integration tests
โ โโโ utils/ # Helper utilities
โ โโโ node_modules/
โ โโโ .env # Environment variables (ignored in Git)
โ โโโ package.json
โ โโโ package-lock.json
โ โโโ reminderScheduler.js # Medication reminder scheduler
โ โโโ seed.js # Database seeding script
โ โโโ server.js # Backend entry point
โ
โโโ frontend/
โ โโโ app/
โ โ โโโ (admin)/ # Admin screens & routes
โ โ โโโ (patient)/ # Patient screens & flows
โ โ โโโ (provider)/ # Provider screens & dashboards
โ โ โโโ __tests__/ # Frontend tests
โ โ โโโ utils/ # Frontend helpers
โ โ โโโ _layout.tsx # Root layout (Expo Router)
โ โ โโโ index.tsx # App entry screen
โ โ โโโ home.tsx
โ โ โโโ login.tsx
โ โ โโโ Register.tsx
โ โ โโโ about.tsx
โ โ โโโ modal.tsx
โ โ โโโ +not-found.tsx
โ โ
โ โโโ assets/
โ โ โโโ fonts/
โ โ โโโ images/ # App icons & branding
โ โ
โ โโโ components/ # Reusable UI components
โ โโโ constants/ # App-wide constants
โ โโโ utils/ # Shared utilities
โ โโโ node_modules/
โ โโโ app.config.js
โ โโโ babel.config.js
โ โโโ eas.json
โ โโโ metro.config.js
โ โโโ tailwind.config.js
โ โโโ tsconfig.json
โ โโโ jest.config.js
โ โโโ global.css
โ โโโ package.json
โ โโโ package-lock.json
โ โโโ README.md
โ
โโโ .gitignore
โโโ README.md # Project documentation
โโโ yarn.lock| Endpoint | Method | Description |
|---|---|---|
/api/user/register |
POST | Register a new user |
/api/user/login |
POST | Authenticate and login user |
/api/medication/add |
POST | Add new medication entry |
/api/medication/get/:uid |
GET | Fetch all medications for user |
/api/medication/update/:id |
PUT | Update existing medication record |
/api/medication/delete/:id |
DELETE | Remove a medication entry |
โ
MongoDB backend setup and integration
โ
RESTful APIs for users and medications
โ
Successful connection between backend and MongoDB
โ
GitHub commits from all team members
โ
Jira updates with user stories and burndown chart
โ
Slack communication logs with demo link
โ Migrated backend to MongoDB
โ Implemented automated reminder scheduler (node-cron)
โ Integrated frontend notification system (Expo Notifications)
โ Role-based access for admin & provider
โ Continuous integration with GitHub actions and manual testing
โ Slack communication logs with demo link
โ Provider reports and adherence trend analytics implemented
โ Patient dose logging completed and integrated with backend
โ iOS prototype demonstrated with updated patient and provider flows
โ All backend tests passed (controllers and models)
โ GitHub Actions CI runs verified
โ Jira board, burnup chart, and velocity report updated
- Node.js v16+
.envfile with configuration:PORT=3000 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret OPENAI_API_KEY=your_openai_api_key
# Clone the repository
git clone https://github.com/ParthGadekar0631/Medication-Adherence-Tracker.git# Navigate to backend
cd backend# Install dependencies
npm install# Run the server
npm startcd frontend
npm install
npx expo start -c- ๐ค Voice-Assistant Integration (Siri / Google Assistant)
- ๐ฉบ Wearable device integration
- ๐ AI-based Adherence Analytics
| Name | Role | Responsibility |
|---|---|---|
| Parth Gadekar | Backend Developer | MongoDB Integration, API Development |
| Vaibhav Ganeriwala | Database Engineer | Data Schema & MongoDB Design |
| Daniel Storms | Frontend Developer | UI/UX and Mobile App |
| Jared Simonetti | Scrum Master | Jira, Sprint Management, Review |
- Jira: Sprint planning, story tracking, burndown chart
- Slack: Daily team communication, sprint demos
- GitHub: Version control, CI/CD integration
- Confluence / Docs: Sprint reviews and retrospectives
This project is released under the MIT License โ free to use, modify, and distribute.