A complete full-stack web and mobile application designed to help users track their medication inventory and receive timely, reliable reminders. Built with a robust Django backend and a responsive React frontend, wrapped into a native Android APK using Capacitor for seamless push notifications.
- Secure Authentication: User registration and password recovery using Email OTP verification.
- Medicine Inventory Management: Add, edit, and track medicines (Tablets, Syrups, Injections) with custom color coding and remaining quantity tracking.
- Smart Scheduling: Set specific times and instructions (e.g., Before Meal, After Meal) for each medicine.
- Cross-Platform Notifications: * Browser-based web push notifications and audio alerts for web users.
- Native background push notifications for Android users (handled via Capacitor).
- Dose Logging: Mark medicines as "Taken" to automatically update stock quantities.
Frontend:
- React.js (Hooks, Context)
- Capacitor (by Ionic) for Android APK conversion and Native Notifications
- Hosted on: Vercel
Backend:
- Django & Django REST Framework (DRF)
- SQLite (Development)
- Python
dotenvfor secure environment variable management - Hosted on: Oracle Cloud Infrastructure (OCI)
- DNS/Domain: DuckDNS & Name.com
- Node.js and npm
- Python 3.8+
- Git
git clone https://github.com/syedsafeer/Medicine-Reminder-App-2.0.git
cd Medicine-Reminder-App-2.0cd backend
python -m venv venv
# Activate virtual environment (Windows: venv\Scripts\activate | Mac/Linux: source venv/bin/activate)
pip install -r requirements.txtCreate a .env file in the same directory as manage.py and add your secrets:
SECRET_KEY=your_django_secret_key
DEBUG=True
EMAIL_HOST_USER=[email protected]
EMAIL_HOST_PASSWORD=your_app_passwordRun migrations and start the server:
python manage.py migrate
python manage.py createsuperuser
python manage.py runserverOpen a new terminal and navigate to the frontend folder:
cd frontend
npm installCreate a .env file in the frontend root:
VITE_API_BASE_URL=[http://127.0.0.1:8000/api](http://127.0.0.1:8000/api)Start the development server:
npm run devThis project uses Capacitor to bridge the React web app to native Android.
npm install @capacitor/core @capacitor/cli
npx cap add android
npx cap sync android
npx cap open android(Build the APK directly from Android Studio).
Developed by Syed Safeer Abbas Naqvi