MediQ is a mobile application designed to modernize queue management in medical centers. It replaces traditional paper tokens with a digital system, allowing patients to request tokens remotely and doctors to manage patient flow efficiently in real-time.
In many small and medium-scale medical centers, patient queues are managed using manual paper tokens. This leads to:
- Physical Presence Required: Patients must visit early just to get a number.
- Uncertain Wait Times: No visibility on "Now Serving" numbers, causing overcrowding.
- Administrative Burden: Staff manually track skipped numbers and manage disputes.
MediQ solves these issues by providing:
- For Patients: Remote token requests, live queue tracking, and real-time push notifications.
- For Doctors: A secure dashboard to manage sessions, accept/reject requests, and control the live queue.
- Secure Authentication: Role-based login for authorized staff.
- Session Management: Create, start, pause, and end consultation sessions (Morning/Evening).
- Request Management: View incoming token requests and Accept or Reject them.
- Live Queue Control:
- Call the Next patient.
- Mark patients as Served or Absent.
- Remote Booking: "Choose Yourself" interface (no login required) to request a token.
- Smart Form: Select Specialization -> Doctor -> Available Session.
- Live Tracking: View "Your Token" vs. "Current Token" in real-time.
- Push Notifications: Get alerted when your request is accepted or when it's your turn.
- Framework: React Native (via Expo SDK)
- Language: TypeScript
- Styling: NativeWind (Tailwind CSS for React Native)
- Navigation: Expo Router (File-based routing)
- Backend (BaaS): Google Firebase
- Authentication: Secure sign-in.
- Cloud Firestore: Real-time NoSQL database.
- Cloud Messaging: Push notifications.
The app follows a Serverless Architecture to ensure low latency and real-time updates.
- Real-time Sync: Uses Firestore listeners to instantly reflect token status,queue changes across all devices.
- Context-Awareness: Updates Doctors and Patients via Push Notifications.
- Node.js (LTS version recommended)
- Expo Go app installed on your physical device (iOS/Android) or an Emulator.
-
Clone the repository:
git clone [https://github.com/lakshanpd/MediQ.git] cd mediq -
Install dependencies:
npm install
-
Configure Firebase:
- Create a project in the Firebase Console.
- Enable Authentication and Firestore.
- Create a
.envwith follwoing details.
EXPO_PUBLIC_FIREBASE_API_KEY= EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN= EXPO_PUBLIC_FIREBASE_PROJECT_ID= EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET= EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID= EXPO_PUBLIC_FIREBASE_APP_ID= EXPO_PUBLIC_FIREBASE_MEASUREMENT_ID= EXPO_PUBLIC_PUSH_TOKEN_KEY=
-
Run the application:
npx expo start
-
Scan the QR code with the Expo Go app on your phone.
This project is licensed under the MIT License - see the LICENSE file for details.