A mobile application that bridges patients and doctors with two dedicated dashboards — built to remove the back-and-forth of phone calls and paper prescriptions from booking a doctor's visit.
The Doctor Appointment App is an Android application built with Java and powered by Firebase. It gives patients a simple way to find a doctor, book an appointment, and view prescriptions, while doctors get their own dashboard to manage their schedule and issue prescriptions digitally — all synced in real time.
Booking a doctor's appointment locally usually still means a phone call, a waiting room, and a handwritten slip of paper for a prescription. I wanted to see how much of that friction could disappear with a proper mobile app — and it gave me a reason to learn real-time, multi-user data with Firebase instead of a single static database. It's the kind of two-sided marketplace problem (patients on one side, doctors on the other) that forced me to think about permissions, data structure, and user roles from day one, rather than bolting them on later.
Firebase was new territory for me, so the biggest hurdle was designing Firestore's read and write rules so a patient could never see another patient's data, and a doctor could only manage their own schedule. Preventing two patients from booking the same time slot took a few failed attempts before I landed on a reliable approach. Testing two different dashboards from a single codebase, on a single emulator, also meant a lot of manual account-switching to catch role-specific bugs before they became real problems.
Patients can browse doctors, book appointments, and keep track of upcoming visits in one place.
Doctors manage their own schedule, accept or reschedule bookings, and see their patient list at a glance.
A guided booking flow lets patients pick a doctor and an available time slot in a few taps.
Doctors issue prescriptions directly in-app, and patients can view them any time — no paper needed.
Secure sign-up and login for both patients and doctors, keeping each role's data separate.
Firestore keeps schedules and prescriptions updated instantly across both dashboards.
The full source is up on GitHub — dashboards, Firebase rules, and all.
Explore the Code