A modern Android application for booking doctor appointments, built with Kotlin, Jetpack Compose, Firebase, and Hilt, following Clean Architecture with MVVM and Kotlin Flow.
- π User Authentication β Secure login/signup using Firebase Auth
- π Role-Based Authentication β Supports two user roles:
- π§ββοΈ Doctor β Manage appointments, respond to patient messages, and conduct video consultations.
- π©ββοΈ Patient β Browse doctors, book appointments, view history, and chat/video call doctors.
- π§ββοΈ Doctor Directory β Browse doctors by specialization
- π Appointment Booking β Schedule, view, and manage appointments
- π Appointment History β View past & upcoming appointments
- π¬ Chat Functionality β Real-time messaging between doctor and patient
- π₯ Video Calling β Real-time teleconsultation powered by PeerJS
- π² Modern UI β Fully responsive UI using Jetpack Compose
- βοΈ Scalable Codebase β Built with Clean Architecture principles
| Layer | Tech Used |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose |
| Architecture | MVVM + Clean Architecture |
| State Management | Kotlin Flow, State Hoisting |
| Dependency DI | Hilt |
| Backend | Firebase (Auth, Firestore) |
| Real-time Comm | PeerJS (WebRTC-based video calling) |
| Navigation | Jetpack Navigation Compose |
| Data Handling | Repository Pattern |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- π Push Notifications for Appointment Reminders
- π Doctor Availability Calendar Integration
- β Ratings & Reviews for Doctors
- π₯ Video Calling (Telehealth Support using PeerJS)
- π³ Payment Gateway Integration (for paid consultations)
This project is licensed under the MIT License.





















