Skip to content

ResQ is a full-stack healthcare management system designed to support elderly care. It offers medication reminders, appointment scheduling, medical records, and emergency features like ambulance booking, 15-min medicine delivery, all via a responsive PWA-ready web app. Built with Node.js, Express, and MongoDB.

License

Notifications You must be signed in to change notification settings

abuhuraira-73/ResQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ResQ – Healthcare Management System

ResQ Banner

Problem Statement 5: Elderly Care Reminder System (WEB-004)

Imagine Rahul's grandpa, Mr. Sharma, who thinks his pills are on a secret mission because he keeps forgetting themβ€”again and again! Meanwhile, Rahul's juggling deadlines, laundry, and grandma's famous but forgettable cookie recipes. It's like herding cats who forgot they're cats! What he needs is a sidekick that reminds grandpa about meds, nudges for appointments, and gives Rahul ultimate peace of mind.

⚠️ Under Construction: Currently more blueprint than buildingβ€”ResQ isn't live yet, but here's what's coming!


🚧 Quick Overview (Implemented & Planned Features)

  • Authentication: Sign up, login & logout (JWT, bcryptjs, sessions)
  • Appointment Management: Schedule, view & cancel (doctor, specialty, date & time)
  • Medication Reminders: Multi-dose meds & flexible frequency options
  • Responsive UI: Built with EJS, Bootstrap, HTML5/CSS3, JavaScript & jQuery
  • Email Notifications: SendGrid integration with delivery status tracking
  • Ambulance Services: Emergency booking with location tracking
  • PWA Support (Planned): Installable on desktop & mobile home screens
  • Push Notifications (Planned): Web Push API implementation
  • Advanced Reminder System (Planned): Custom schedules & recurring alerts
  • Medical Records & Directories (Planned): Upload history, search doctors & hospitals
  • Quick-Med Delivery (Planned): Under 20‑minute medicine delivery
  • Hospital Bed Availability (Planned): Real‑time tracker of empty beds
  • Treatment Directory (Planned): Browse all treatments offered by hospitals
  • Doctor Directory & Booking (Planned): Doctor profiles with one‑click appointment

🧐 Detailed Features

βœ… Implemented

  • User Authentication
    • Sign up / Login / Logout
    • JWT, bcryptjs, express-session & cookie‑parser
  • Appointment Management
    • Schedule, view & cancel medical appointments
    • Select doctor, specialty, date & time
    • Email reminders (day before, hour before, at appointment time)
    • Visual status indicators for reminder delivery status
  • Medication Reminders
    • Add medications with multiple dosage times
    • Flexible frequency (daily, twice daily, custom…)
    • Email notifications with status tracking
  • Responsive UI
    • Works flawlessly across devices (mobile & desktop)
  • Emergency Services
    • Ambulance booking with location details
    • Ambulance tracking functionality
  • Email Notifications
    • SendGrid integration for reliable delivery
    • Configurable notification preferences

🚧 Planned

  • Push Notifications with Web Push API
  • Progressive Web App (PWA) support
  • Advanced Reminder System (custom schedules beyond current options)
  • Medical Records upload & history tracking
  • Doctor/Hospital Directory (search, profiles, services)
  • Quick-Med Delivery β€” under 20‑minute medicine delivery shop
  • Hospital Bed Availability β€” real‑time records of empty beds
  • Treatment Directory β€” list of all treatments available in hospitals
  • Doctor Directory & Booking β€” details of all doctors with appointment booking option

πŸ“Έ Screenshots

Add Medication Reminder Sign Up Page Login Page

Appointment Scheduling Medication Database Appointments in Database

Appointments in Database Appointment Scheduling Medication Database

Medication Database Medication Database Medication Database


πŸ› οΈ Tech Stack

Backend

  • Node.js
  • Express.js
  • MongoDB (Mongoose)

Frontend

  • EJS Templating
  • HTML5 & CSS3
  • JavaScript & jQuery
  • Bootstrap

Auth & Security

  • JWT (JSON Web Tokens)
  • bcryptjs
  • express-session & cookie-parser

Communication

  • SendGrid API (Email notifications)

Utilities

  • dotenv
  • body-parser
  • nodemon (dev)

πŸš€ Installation & Setup

Prerequisites

  • Node.js v14+
  • MongoDB (local or Atlas)
  • npm or yarn

Steps

  1. Clone the repo

    git clone https://github.com/your-username/ResQ.git
    cd ResQ
  2. Install dependencies

    npm install
  3. Configure environment
    Create a .env in the root:

    MONGODB_URI=<your_mongodb_connection_string>
    PORT=3000
    JWT_SECRET=<your_jwt_secret>
    EMAIL_USER=<email_for_notifications>
    EMAIL_PASS=<email_password>
  4. Run the app

    • Development:
      npm run dev
    • Production:
      npm start
  5. Open in browser
    Navigate to http://localhost:3000


πŸ“‚ Project Structure

ResQ/
β”œβ”€β”€ public/              # Static assets (CSS, JS, images)
β”œβ”€β”€ server/              # Backend code
β”‚   β”œβ”€β”€ models/          # Mongoose schemas
β”‚   └── routes/          # Express routes
β”œβ”€β”€ views/               # EJS templates
β”‚   β”œβ”€β”€ layouts/         # Main layouts
β”‚   β”œβ”€β”€ partials/        # Reusable components
β”‚   └── *.ejs            # Page templates
β”œβ”€β”€ .env                 # Environment variables
β”œβ”€β”€ .gitignore           # Git ignore rules
β”œβ”€β”€ index.js             # App entry point
└── package.json         # Scripts & dependencies

πŸ”Œ API Endpoints

Auth

  • POST /api/auth/signup β€” Register a new user
  • POST /api/auth/login β€” Login

Reminders

  • GET /api/reminders β€” List all reminders
  • POST /api/reminders β€” Create reminder
  • PUT /api/reminders/:id β€” Update reminder
  • DELETE /api/reminders/:id β€” Delete reminder

Appointments

  • GET /api/appointments β€” List all appointments
  • POST /api/appointments β€” Schedule appointment
  • PUT /api/appointments/:id β€” Update appointment
  • DELETE /api/appointments/:id β€” Cancel appointment

Email Notifications

  • POST /api/reminders/test-email β€” Send test email to verify email configuration

Ambulance Services

  • GET /api/ambulance β€” Get available ambulances
  • POST /api/ambulance/book β€” Book an ambulance
  • GET /api/ambulance/track/:id β€” Track ambulance location

πŸ§‘β€πŸ’» Author

Abu Huraira (Leader)
Final Year BCA Student | MERN Stack Developer
Techno Main Salt Lake
GitHub Profile

Raima Mitra
Final Year BCA Student | Mern Stack Developer
Techno Main Salt Lake
linkedIn Profile


πŸ“¬ Connect With Me

GitHub Badge Twitter Badge LinkedIn Badge

🀝 Contributing

  1. Fork the repository
  2. Create a branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m "Add AmazingFeature")
  4. Push (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License.
See LICENSE for details.


πŸ™ Acknowledgments

  • Thanks to all contributors
  • Thank you to team member @RaimaMitra
  • Special thanks to hackathon organizers @IIC and @ENVISAGE

About

ResQ is a full-stack healthcare management system designed to support elderly care. It offers medication reminders, appointment scheduling, medical records, and emergency features like ambulance booking, 15-min medicine delivery, all via a responsive PWA-ready web app. Built with Node.js, Express, and MongoDB.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published