MedWise is an intelligent medication management system designed to assist users in managing their daily medication intake. The system features a smart box, a Flutter-based mobile application, and a robust Node.js backend powered by Express.js and MongoDB. Together, these components provide timely reminders, secure medication storage, and detailed tracking for users and caregivers. Watch the demonstration on Youtube.
- Secure Storage: Compartmentalized design with a smart locking mechanism.
- Integrated Notifications: Provides visual and auditory reminders for medication times.
- Intake Monitoring: Infrared sensors (planned) to detect medication removal.
- User-Friendly Interface: Built using Dart and Flutter for seamless user experience.
- Medication Management: Schedule medications, set reminders, and monitor intake.
- Remote Monitoring: Caregivers can track users' adherence in real-time.
- API Integration: RESTful APIs built with Express.js to handle device data and schedules.
- Database Management: MongoDB for secure and efficient data storage.
- Scheduling Logic: Automatically generates medication schedules based on user input.
- Flutter: For cross-platform application development.
- Dart: Programming language for building the application.
- Figma: Used for UI/UX prototyping.
- HTTP Package: To make API calls to the backend.
- Android Studio: IDE for development and debugging
- Add/Update Medications: Users can enter detailed medication plans, including time and dosage.
- Notifications: Push notifications for timely reminders.
- Add/Modify Devices: Seamlessly manage devices and schedules.
- Node.js: Server-side runtime.
- Express.js: Framework for building RESTful APIs.
- MongoDB: Database for storing user, device, and schedule data.
- Mongoose: Object Data Modeling (ODM) library for MongoDB.
GET /api/medwises
: Fetch all registered devices.POST /api/medwises
: Add a new device.PUT /api/medwises/:id
: Update an existing device.GET /api/medwises/:id
: Fetch a specific device by ID.
POST /api/create-schedule/:id
: Create a 7-day medication schedule for a device.GET /api/backlogs
: Fetch all schedules.GET /api/backlogs/:deviceId
: Fetch schedules for a specific device.
- Scheduling: Generates 7-day medication schedules based on input times and medication names.
- Data Validation: Ensures robust data handling and error checking.
- Busy Professionals: Tim, an office worker, uses MedWise to manage his medications and receives timely reminders on his phone and smart box.
- Elderly Care: Tim helps his mother, Mary, by setting up her weekly medications on MedWise. Mary receives notifications, and Tim monitors her adherence remotely.
- Childcare Settings: Tim's sister, a teacher, manages medications for multiple children using MedWise, ensuring accuracy and security.
These scenarios demonstrate the system's versatility and practicality for diverse users and settings.
- Clone the Repository:
git clone https://github.com/shirleylin39/MedWise-Smart-medicine-box cd medwise_app_backend
- Install Dependencies:
npm install
- Run the Server:
node app.js
- Database: Ensure MongoDB is running locally or provide a remote connection string.
- Clone the Repository:
git clone https://github.com/shirleylin39/MedWise-Smart-medicine-box cd medwise_app_frontend
- Install Flutter: Follow instructions at Flutter Installation.
- Install All Dependencies:
flutter pub get
- Run the App:
flutter run