# ajaaay1/mobile-programming---project-mob-on architecture

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

- Interactive diagram: https://gitdiagram.com/ajaaay1/mobile-programming---project-mob-on
- Repository: https://github.com/ajaaay1/mobile-programming---project-mob-on

## Overview

This is a small React Native/Expo authentication prototype for passenger and driver accounts. The user enters through the app shell, chooses a passenger or driver login/registration screen, and can switch between those screens. Each form performs local required-field and password-match checks, then logs submitted values and displays a success alert; no authentication service or persistent account store is evidenced. Driver registration also presents license attachment UI, but the sampled excerpt does not establish how file selection is implemented.

Main entry points: [`App.js`](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/App.js) (Screen router), [`screens/login.js`](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/login.js) (Passenger login), [`screens/register.js`](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/register.js) (Passenger registration), [`screens/driverLogin.js`](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/driverLogin.js) (Driver login)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["App shell"]
  node_entry["Expo entry<br/>[index.js]"]
  node_app["Screen router<br/>[App.js]"]
end

subgraph group_passenger["Passenger access"]
  node_passenger_login["Passenger login<br/>[login.js]"]
  node_passenger_register["Passenger registration<br/>[register.js]"]
end

subgraph group_driver["Driver access"]
  node_driver_login["Driver login<br/>[driverLogin.js]"]
  node_driver_register["Driver registration<br/>[driverRegister.js]"]
end

node_user(("User"))

node_entry -->|"registers root"| node_app
node_user -->|"opens app"| node_app
node_app -->|"renders default"| node_passenger_login
node_app -->|"renders on route"| node_passenger_register
node_app -->|"renders on route"| node_driver_login
node_app -->|"renders on route"| node_driver_register
node_passenger_login -->|"requests navigation"| node_app
node_passenger_register -->|"requests navigation"| node_app
node_driver_login -->|"requests navigation"| node_app
node_driver_register -->|"requests navigation"| node_app
node_user -->|"enters credentials"| node_passenger_login
node_user -->|"enters details"| node_passenger_register
node_user -->|"enters credentials"| node_driver_login
node_user -->|"enters details"| node_driver_register
node_passenger_login -->|"shows validation or result"| node_user
node_passenger_register -->|"shows validation or result"| node_user
node_driver_login -->|"shows validation or result"| node_user
node_driver_register -->|"shows validation or result"| node_user

click node_entry "https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/index.js"
click node_app "https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/App.js"
click node_passenger_login "https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/login.js"
click node_passenger_register "https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/register.js"
click node_driver_login "https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/driverLogin.js"
click node_driver_register "https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/driverRegister.js"

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_entry,node_app,node_user toneBlue
class node_passenger_login,node_passenger_register toneAmber
class node_driver_login,node_driver_register toneMint
```

## Components

### App shell

- [Expo entry](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/index.js): `index.js`
- [Screen router](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/App.js): `App.js`

### Passenger access

- [Passenger login](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/login.js): `screens/login.js`
- [Passenger registration](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/register.js): `screens/register.js`

### Driver access

- [Driver login](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/driverLogin.js): `screens/driverLogin.js`
- [Driver registration](https://github.com/ajaaay1/mobile-programming---project-mob-on/blob/main/screens/driverRegister.js): `screens/driverRegister.js`

### Other components

- **User**

## Connections

- Expo entry → Screen router: registers root
- User → Screen router: opens app
- Screen router → Passenger login: renders default
- Screen router → Passenger registration: renders on route
- Screen router → Driver login: renders on route
- Screen router → Driver registration: renders on route
- Passenger login → Screen router: requests navigation
- Passenger registration → Screen router: requests navigation
- Driver login → Screen router: requests navigation
- Driver registration → Screen router: requests navigation
- User → Passenger login: enters credentials
- User → Passenger registration: enters details
- User → Driver login: enters credentials
- User → Driver registration: enters details
- Passenger login → User: shows validation or result
- Passenger registration → User: shows validation or result
- Driver login → User: shows validation or result
- Driver registration → User: shows validation or result
