Skip to content

Doctor appointment booking app using Kotlin, Jetpack Compose, Firebase, and MVVM Clean Architecture.

License

Notifications You must be signed in to change notification settings

MianMuzammil67/Appointment-Booking-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

134 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Status Kotlin Jetpack Compose Firebase Status

🩺 Doctor Appointment Booking App

A modern Android application for booking doctor appointments, built with Kotlin, Jetpack Compose, Firebase, and Hilt, following Clean Architecture with MVVM and Kotlin Flow.


✨ Features

  • πŸ” 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

πŸ› οΈ Tech Stack

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

πŸ“Έ Screenshots

Role Screen Signup Signin CP1
CP2 CP3 CP4 CP5
Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4
Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8
Screenshot 9 Screenshot 10 Screenshot 11 Screenshot 12
Whiteboard/Workspace Video Call

🚧 TODOs

  • πŸ”” 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)

πŸ“„ License

This project is licensed under the MIT License.