# manshur0590/healthline-android-app architecture

> Architecture diagram of the GitHub repository manshur0590/healthline-android-app, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/manshur0590/healthline-android-app
- Repository: https://github.com/manshur0590/healthline-android-app

## Overview

HealthLine is a native Android healthcare app for patients, doctors, and administrators. Patients authenticate, find doctors, and pursue consultations, appointments, pharmacy purchases, or home nursing; doctors register and manage availability and consultations; admins oversee users and appointments. The README documents Firebase Authentication and Cloud Firestore, but the sampled source contains no runtime code, so implementation-level wiring cannot be verified.

Main entry points: [`app/src/main/java/com/example/healthline/DoctorProfileActivity.java`](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/DoctorProfileActivity.java) (Doctor Profile), [`app/src/main/java/com/example/healthline/SignUpPatientActivity.java`](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignUpPatientActivity.java) (Patient Signup), [`app/src/main/java/com/example/healthline/SignInPatientActivity.java`](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignInPatientActivity.java) (Patient Sign-in), [`app/src/main/java/com/example/healthline/SignUpDoctorActivity.java`](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignUpDoctorActivity.java) (Doctor Signup)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Accounts &amp; Profiles"]
  node_main["App Home<br/>[MainActivity.java]"]
  node_patient_signup["Patient Signup"]
  node_patient_signin["Patient Sign-in"]
  node_doctor_signup["Doctor Signup"]
  node_doctor_signin["Doctor Sign-in"]
  node_patient_area["Patient Area"]
  node_patient_profile["Patient Profile"]
  node_admin_login["Admin Sign-in"]
end

subgraph group_care["Patient Care"]
  node_browse_doctors["Doctor Directory"]
  node_instant["Instant Consult"]
  node_appointment["Book Appointment"]
  node_nurse["Nurse Service"]
  node_pharmacy["Medicine Purchase"]
end

subgraph group_provider["Provider Services"]
  node_doctor_area["Doctor Area"]
  node_doctor_profile["Doctor Profile"]
  node_admin_area["Admin Console<br/>[AdminActivity.java]"]
end

subgraph group_platform["Platform Services"]
  node_doctor_model["Doctor Data<br/>[Doctor.java]"]
  node_hospital_model["Hospital Data<br/>[Hospital.java]"]
  node_doctor_adapter["Doctor List UI<br/>[DoctorAdapter.java]"]
  node_hospital_adapter["Hospital List UI"]
  node_auth["Firebase Auth"]
  node_firestore[("Cloud Firestore")]
end

node_patient(("Patient"))
node_doctor_actor(("Doctor"))
node_admin_actor(("Admin"))

node_patient -->|"opens app"| node_main
node_doctor_actor -->|"opens app"| node_main
node_admin_actor -->|"signs in"| node_admin_login
node_patient -->|"registers"| node_patient_signup
node_patient -->|"signs in"| node_patient_signin
node_doctor_actor -->|"registers"| node_doctor_signup
node_doctor_actor -->|"signs in"| node_doctor_signin
node_patient_signup -->|"registers account"| node_auth
node_patient_signin -->|"authenticates"| node_auth
node_doctor_signup -->|"registers account"| node_auth
node_doctor_signin -->|"authenticates"| node_auth
node_patient -->|"uses"| node_patient_area
node_patient_area -->|"browses"| node_browse_doctors
node_browse_doctors -->|"renders list"| node_doctor_adapter
node_doctor_adapter -->|"displays"| node_doctor_model
node_patient -->|"consults instantly"| node_instant
node_patient -->|"books visit"| node_appointment
node_patient -->|"buys medicine"| node_pharmacy
node_patient -->|"requests care"| node_nurse
node_patient -->|"views history"| node_patient_profile
node_doctor_actor -->|"manages care"| node_doctor_area
node_doctor_area -->|"manages profile"| node_doctor_profile
node_doctor_actor -->|"sets availability"| node_doctor_profile
node_doctor_actor -->|"attends consult"| node_instant
node_admin_login -->|"authenticates"| node_auth
node_admin_actor -->|"oversees platform"| node_admin_area
node_admin_area -->|"manages users and appointments"| node_firestore
node_patient_profile -->|"accesses history"| node_firestore
node_doctor_profile -->|"stores profile"| node_firestore

click node_main "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/MainActivity.java"
click node_patient_signup "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignUpPatientActivity.java"
click node_patient_signin "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignInPatientActivity.java"
click node_doctor_signup "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignUpDoctorActivity.java"
click node_doctor_signin "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignInDoctorActivity.java"
click node_patient_area "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/PatientActivity.java"
click node_patient_profile "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/PatientProfileActivity.java"
click node_doctor_area "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/DoctorActivity.java"
click node_doctor_profile "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/DoctorProfileActivity.java"
click node_browse_doctors "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/DoctorActivity.java"
click node_doctor_model "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/Doctor.java"
click node_hospital_model "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/Hospital.java"
click node_doctor_adapter "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/DoctorAdapter.java"
click node_hospital_adapter "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/HospitalAdapter.java"
click node_instant "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/InstantConsultActivity.java"
click node_appointment "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/BookAppointmentActivity.java"
click node_nurse "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/NurseServiceActivity.java"
click node_pharmacy "https://github.com/manshur0590/healthline-android-app/tree/main/app/src/main/java/com/example/healthline"
click node_admin_login "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/AdminLoginActivity.java"
click node_admin_area "https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/AdminActivity.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main,node_patient_signup,node_patient_signin,node_doctor_signup,node_doctor_signin,node_patient_area,node_patient_profile,node_admin_login toneBlue
class node_browse_doctors,node_instant,node_appointment,node_nurse,node_pharmacy toneAmber
class node_doctor_area,node_doctor_profile,node_admin_area toneMint
class node_doctor_model,node_hospital_model,node_doctor_adapter,node_hospital_adapter,node_auth,node_firestore toneRose
class node_patient,node_doctor_actor,node_admin_actor toneIndigo
```

## Components

### Accounts & Profiles

- [App Home](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/MainActivity.java): `app/src/main/java/com/example/healthline/MainActivity.java`
- [Patient Signup](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignUpPatientActivity.java): `app/src/main/java/com/example/healthline/SignUpPatientActivity.java`
- [Patient Sign-in](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignInPatientActivity.java): `app/src/main/java/com/example/healthline/SignInPatientActivity.java`
- [Doctor Signup](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignUpDoctorActivity.java): `app/src/main/java/com/example/healthline/SignUpDoctorActivity.java`
- [Doctor Sign-in](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/SignInDoctorActivity.java): `app/src/main/java/com/example/healthline/SignInDoctorActivity.java`
- [Patient Area](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/PatientActivity.java): `app/src/main/java/com/example/healthline/PatientActivity.java`
- [Patient Profile](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/PatientProfileActivity.java): `app/src/main/java/com/example/healthline/PatientProfileActivity.java`
- [Admin Sign-in](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/AdminLoginActivity.java): `app/src/main/java/com/example/healthline/AdminLoginActivity.java`

### Patient Care

- [Doctor Directory](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/DoctorActivity.java): `app/src/main/java/com/example/healthline/DoctorActivity.java`
- [Instant Consult](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/InstantConsultActivity.java): `app/src/main/java/com/example/healthline/InstantConsultActivity.java`
- [Book Appointment](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/BookAppointmentActivity.java): `app/src/main/java/com/example/healthline/BookAppointmentActivity.java`
- [Nurse Service](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/NurseServiceActivity.java): `app/src/main/java/com/example/healthline/NurseServiceActivity.java`
- [Medicine Purchase](https://github.com/manshur0590/healthline-android-app/tree/main/app/src/main/java/com/example/healthline): `app/src/main/java/com/example/healthline`

### Provider Services

- [Doctor Area](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/DoctorActivity.java): `app/src/main/java/com/example/healthline/DoctorActivity.java`
- [Doctor Profile](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/DoctorProfileActivity.java): `app/src/main/java/com/example/healthline/DoctorProfileActivity.java`
- [Admin Console](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/AdminActivity.java): `app/src/main/java/com/example/healthline/AdminActivity.java`

### Platform Services

- [Doctor Data](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/Doctor.java): `app/src/main/java/com/example/healthline/Doctor.java`
- [Hospital Data](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/Hospital.java): `app/src/main/java/com/example/healthline/Hospital.java`
- [Doctor List UI](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/DoctorAdapter.java): `app/src/main/java/com/example/healthline/DoctorAdapter.java`
- [Hospital List UI](https://github.com/manshur0590/healthline-android-app/blob/main/app/src/main/java/com/example/healthline/HospitalAdapter.java): `app/src/main/java/com/example/healthline/HospitalAdapter.java`
- **Firebase Auth**
- **Cloud Firestore**

### Other components

- **Patient**
- **Doctor**
- **Admin**

## Connections

- Patient → App Home: opens app
- Doctor → App Home: opens app
- Admin → Admin Sign-in: signs in
- Patient → Patient Signup: registers
- Patient → Patient Sign-in: signs in
- Doctor → Doctor Signup: registers
- Doctor → Doctor Sign-in: signs in
- Patient Signup → Firebase Auth: registers account
- Patient Sign-in → Firebase Auth: authenticates
- Doctor Signup → Firebase Auth: registers account
- Doctor Sign-in → Firebase Auth: authenticates
- Patient → Patient Area: uses
- Patient Area → Doctor Directory: browses
- Doctor Directory → Doctor List UI: renders list
- Doctor List UI → Doctor Data: displays
- Patient → Instant Consult: consults instantly
- Patient → Book Appointment: books visit
- Patient → Medicine Purchase: buys medicine
- Patient → Nurse Service: requests care
- Patient → Patient Profile: views history
- Doctor → Doctor Area: manages care
- Doctor Area → Doctor Profile: manages profile
- Doctor → Doctor Profile: sets availability
- Doctor → Instant Consult: attends consult
- Admin Sign-in → Firebase Auth: authenticates
- Admin → Admin Console: oversees platform
- Admin Console → Cloud Firestore: manages users and appointments
- Patient Profile → Cloud Firestore: accesses history
- Doctor Profile → Cloud Firestore: stores profile
