Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

195 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Build License Node.js MongoDB Expo OpenAI

๐Ÿ’Š Medication Adherence Tracker (MAT)

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.


๐Ÿ“Œ YouTube Video Demo:

Link:https://youtu.be/MbRiTFZXNvg

๐Ÿ“Œ Project Overview

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.


๐Ÿš€ Key Features

  • ๐Ÿ” 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

๐Ÿง  System Architecture

Frontend (React Native / Flutter)
โ”‚
โ–ผ
Express.js API
โ”‚
โ–ผ
MongoDB Services
โ”œโ”€โ”€ MongoDB (DB)
โ”œโ”€โ”€ Authentication
โ””โ”€โ”€ Cloud Storage

๐Ÿ› ๏ธ Technologies Used

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

โš™๏ธ How It Works

  1. ๐Ÿงพ User Registration & Login: Users authenticate securely.
  2. ๐Ÿ’Š Medication Entry: Users input medicine name, dosage, and schedule.
  3. โฐ Reminders Triggered: System sends alerts at the scheduled times.
  4. ๐Ÿ“Š Adherence Monitoring: Tracks intake behavior and displays completion stats.
  5. โ˜๏ธ Data Stored in MongoDB: Ensures secure, real-time cloud storage for all records.

๐Ÿงฉ Folder Structure

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

๐Ÿ’ก API Overview

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

๐Ÿ“Š Sprint 1 Deliverables

โœ… 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

๐Ÿ“Š Sprint 2 Deliverables

โœ… 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

๐Ÿ“Š Sprint 3 Deliverables

โœ… 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

๐Ÿงฎ Installation & Setup

๐Ÿ”ง Prerequisites

  • Node.js v16+
  • .env file with configuration:
    PORT=3000
    MONGODB_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret
    OPENAI_API_KEY=your_openai_api_key
    

๐Ÿงฑ Setup Steps

# 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 start

๐Ÿ“ฑ Frontend Setup

cd frontend
npm install
npx expo start -c

๐Ÿ–ผ๏ธ Application Screenshots

๐Ÿ” Authentication


๐Ÿ  General


๐Ÿง Patient Views


๐Ÿ‘จโ€โš•๏ธ Provider Views


๐Ÿ› ๏ธ Admin Views

๐ŸŽฏ Future Enhancements

  • ๐Ÿค– Voice-Assistant Integration (Siri / Google Assistant)
  • ๐Ÿฉบ Wearable device integration
  • ๐Ÿ“Š AI-based Adherence Analytics

๐Ÿค Team 5 โ€” Contributors

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

๐Ÿงญ Agile Workflow Tools

  • 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

๐Ÿ“„ License

This project is released under the MIT License โ€” free to use, modify, and distribute.

About

A cross-platform mobile application to help patients track medications and improve adherence, with provider/admin dashboards.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages