# fernandoaab/barbeariapc architecture

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

- Interactive diagram: https://gitdiagram.com/fernandoaab/barbeariapc
- Repository: https://github.com/fernandoaab/barbeariapc

## Overview

This is a local Android barbershop app for browsing services and barbers, registering customers, booking appointments, and administering bookings. The principal workflow is selecting a barber, services, date, and available time, then confirming a reservation on the device. The sampled code shows local SQLite storage, local admin-password setup, and an in-app help screen; the README is empty. MainActivity excerpts are partial, so links for unsampled screen actions are omitted.

Main entry points: [`BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt`](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt) (App navigation), [`BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/BarbershopDatabase.kt`](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/BarbershopDatabase.kt) (Booking and customer data), [`BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/Catalog.kt`](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/Catalog.kt) (Barber and service catalog), [`BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/AdminAuth.kt`](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/AdminAuth.kt) (Admin password checks)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_customer["Customer experience"]
  node_activity["App navigation<br/>[MainActivity.kt]"]
  node_booking_ui["Booking screen<br/>[MainActivity.kt]"]
  node_registration_ui["Registration screen<br/>[MainActivity.kt]"]
end

subgraph group_booking["Booking data"]
  node_catalog["Barber and service catalog<br/>[Catalog.kt]"]
  node_db_api["Booking and customer data"]
  node_sqlite[("Local SQLite database")]
  node_confirmation["Booking confirmation<br/>[MainActivity.kt]"]
end

subgraph group_admin["Administration"]
  node_admin_login["Admin sign-in<br/>[MainActivity.kt]"]
  node_admin_auth["Admin password checks<br/>[AdminAuth.kt]"]
  node_admin_console["Appointment management<br/>[MainActivity.kt]"]
end

subgraph group_support["Support and access"]
  node_chat["Luna help screen<br/>[MainActivity.kt]"]
  node_maps["Map service"]
end

node_customer(("Customer"))

node_customer -->|"opens"| node_activity
node_activity -->|"shows"| node_booking_ui
node_activity -->|"shows"| node_registration_ui
node_activity -->|"shows"| node_admin_login
node_activity -->|"shows"| node_admin_console
node_activity -->|"shows"| node_chat
node_booking_ui -->|"reads options"| node_catalog
node_booking_ui -->|"checks times"| node_db_api
node_activity -->|"creates"| node_db_api
node_activity -->|"creates"| node_admin_auth
node_activity -.->|"opens map"| node_maps
node_db_api -->|"reads and writes"| node_sqlite
node_db_api -->|"resolves barber"| node_catalog

click node_activity "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt"
click node_booking_ui "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt"
click node_registration_ui "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt"
click node_catalog "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/Catalog.kt"
click node_db_api "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/BarbershopDatabase.kt"
click node_sqlite "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/BarbershopDatabase.kt"
click node_confirmation "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt"
click node_admin_login "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt"
click node_admin_auth "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/AdminAuth.kt"
click node_admin_console "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt"
click node_chat "https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt"

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_activity,node_booking_ui,node_registration_ui toneBlue
class node_catalog,node_db_api,node_sqlite,node_confirmation toneAmber
class node_admin_login,node_admin_auth,node_admin_console toneMint
class node_chat,node_maps toneRose
class node_customer toneIndigo
```

## Components

### Customer experience

- [App navigation](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt`
- [Booking screen](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt`
- [Registration screen](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt`

### Booking data

- [Barber and service catalog](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/Catalog.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/Catalog.kt`
- [Booking and customer data](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/BarbershopDatabase.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/BarbershopDatabase.kt`
- [Local SQLite database](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/BarbershopDatabase.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/BarbershopDatabase.kt`
- [Booking confirmation](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt`

### Administration

- [Admin sign-in](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt`
- [Admin password checks](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/AdminAuth.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/AdminAuth.kt`
- [Appointment management](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt`

### Support and access

- [Luna help screen](https://github.com/fernandoaab/barbeariapc/blob/Android/BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt): `BarbeariaImperioAndroid/app/src/main/java/br/edu/barbeariaimperio/MainActivity.kt`
- **Map service**

### Other components

- **Customer**

## Connections

- Customer → App navigation: opens
- App navigation → Booking screen: shows
- App navigation → Registration screen: shows
- App navigation → Admin sign-in: shows
- App navigation → Appointment management: shows
- App navigation → Luna help screen: shows
- Booking screen → Barber and service catalog: reads options
- Booking screen → Booking and customer data: checks times
- App navigation → Booking and customer data: creates
- App navigation → Admin password checks: creates
- App navigation → Map service: opens map
- Booking and customer data → Local SQLite database: reads and writes
- Booking and customer data → Barber and service catalog: resolves barber
