# aomsirawit/workstracker architecture

> Architecture diagram of the GitHub repository aomsirawit/workstracker, 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/aomsirawit/workstracker
- Repository: https://github.com/aomsirawit/workstracker

## Overview

WorksTracker is a Laravel web app for tracking work items by status and progress, with account registration, login, email verification, and profile management. The main workflow is to create or edit a work item, then view items grouped as running, succeeded, cancelled, or all. Controller and view behavior is sampled; route wiring and model internals are not, so uncertain database and dispatch links are omitted.

Main entry points: [`app/Http/Controllers/WorkController.php`](https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/WorkController.php) (Work actions), [`app/Http/Controllers/Auth/RegisteredUserController.php`](https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php) (Registration), [`app/Http/Controllers/ProfileController.php`](https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/ProfileController.php) (Profile management), [`app/Http/Controllers/Auth/VerifyEmailController.php`](https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/Auth/VerifyEmailController.php) (Email verification)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_work["Work tracking"]
  node_work_controller["Work actions<br/>[WorkController.php]"]
  node_works_model["Work records<br/>[Works.php]"]
  node_status_model["Work statuses<br/>[Status.php]"]
end

subgraph group_identity["Accounts"]
  node_registered_controller["Registration"]
  node_session_controller["Login session"]
  node_verify_controller["Email verification"]
  node_profile_controller["Profile management"]
  node_user_model["User account<br/>[User.php]"]
end

subgraph group_presentation["Web presentation"]
  node_running_view["Running list<br/>[Running.blade.php]"]
  node_success_view["Succeeded list<br/>[Success.blade.php]"]
  node_cancel_view["Cancelled list<br/>[Cancle.blade.php]"]
  node_all_view["All works<br/>[All.blade.php]"]
  node_add_view["Add work form<br/>[AddWorks.blade.php]"]
  node_edit_view["Edit work form"]
  node_app_layout["Work navigation<br/>[app.blade.php]"]
  node_register_view["Registration form<br/>[register.blade.php]"]
  node_login_view["Login form<br/>[login.blade.php]"]
  node_verify_view["Verification prompt"]
  node_profile_view["Profile screen<br/>[edit.blade.php]"]
end

node_user(("Visitor or user"))

node_work_controller -->|"reads and writes"| node_works_model
node_work_controller -->|"loads statuses"| node_status_model
node_work_controller -->|"renders"| node_running_view
node_work_controller -->|"renders"| node_success_view
node_work_controller -->|"renders"| node_cancel_view
node_work_controller -->|"renders"| node_all_view
node_work_controller -->|"renders"| node_add_view
node_work_controller -->|"renders"| node_edit_view
node_app_layout -->|"links to"| node_add_view
node_user -->|"registers"| node_registered_controller
node_registered_controller -->|"creates account"| node_user_model
node_registered_controller -->|"renders"| node_register_view
node_user -->|"logs in"| node_session_controller
node_session_controller -->|"renders"| node_login_view
node_user -->|"verifies email"| node_verify_controller
node_verify_controller -->|"marks verified"| node_user_model
node_user -->|"manages profile"| node_profile_controller
node_profile_controller -->|"updates or deletes"| node_user_model
node_profile_controller -->|"renders"| node_profile_view
node_verify_view -.->|"requests verification"| node_verify_controller

click node_work_controller "https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/WorkController.php"
click node_works_model "https://github.com/aomsirawit/workstracker/blob/main/app/Models/Works.php"
click node_status_model "https://github.com/aomsirawit/workstracker/blob/main/app/Models/Status.php"
click node_running_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/Running.blade.php"
click node_success_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/Success.blade.php"
click node_cancel_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/Cancle.blade.php"
click node_all_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/All.blade.php"
click node_add_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/AddWorks.blade.php"
click node_edit_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/EditWorks.blade.php"
click node_app_layout "https://github.com/aomsirawit/workstracker/blob/main/resources/views/layouts/app.blade.php"
click node_registered_controller "https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php"
click node_session_controller "https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php"
click node_verify_controller "https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/Auth/VerifyEmailController.php"
click node_profile_controller "https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/ProfileController.php"
click node_user_model "https://github.com/aomsirawit/workstracker/blob/main/app/Models/User.php"
click node_register_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/auth/register.blade.php"
click node_login_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/auth/login.blade.php"
click node_verify_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/auth/verify-email.blade.php"
click node_profile_view "https://github.com/aomsirawit/workstracker/blob/main/resources/views/profile/edit.blade.php"

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_work_controller,node_works_model,node_status_model,node_user toneBlue
class node_registered_controller,node_session_controller,node_verify_controller,node_profile_controller,node_user_model toneAmber
class node_running_view,node_success_view,node_cancel_view,node_all_view,node_add_view,node_edit_view,node_app_layout,node_register_view,node_login_view,node_verify_view,node_profile_view toneMint
```

## Components

### Work tracking

- [Work actions](https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/WorkController.php): `app/Http/Controllers/WorkController.php`
- [Work records](https://github.com/aomsirawit/workstracker/blob/main/app/Models/Works.php): `app/Models/Works.php`
- [Work statuses](https://github.com/aomsirawit/workstracker/blob/main/app/Models/Status.php): `app/Models/Status.php`

### Accounts

- [Registration](https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php): `app/Http/Controllers/Auth/RegisteredUserController.php`
- [Login session](https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php): `app/Http/Controllers/Auth/AuthenticatedSessionController.php`
- [Email verification](https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/Auth/VerifyEmailController.php): `app/Http/Controllers/Auth/VerifyEmailController.php`
- [Profile management](https://github.com/aomsirawit/workstracker/blob/main/app/Http/Controllers/ProfileController.php): `app/Http/Controllers/ProfileController.php`
- [User account](https://github.com/aomsirawit/workstracker/blob/main/app/Models/User.php): `app/Models/User.php`

### Web presentation

- [Running list](https://github.com/aomsirawit/workstracker/blob/main/resources/views/Running.blade.php): `resources/views/Running.blade.php`
- [Succeeded list](https://github.com/aomsirawit/workstracker/blob/main/resources/views/Success.blade.php): `resources/views/Success.blade.php`
- [Cancelled list](https://github.com/aomsirawit/workstracker/blob/main/resources/views/Cancle.blade.php): `resources/views/Cancle.blade.php`
- [All works](https://github.com/aomsirawit/workstracker/blob/main/resources/views/All.blade.php): `resources/views/All.blade.php`
- [Add work form](https://github.com/aomsirawit/workstracker/blob/main/resources/views/AddWorks.blade.php): `resources/views/AddWorks.blade.php`
- [Edit work form](https://github.com/aomsirawit/workstracker/blob/main/resources/views/EditWorks.blade.php): `resources/views/EditWorks.blade.php`
- [Work navigation](https://github.com/aomsirawit/workstracker/blob/main/resources/views/layouts/app.blade.php): `resources/views/layouts/app.blade.php`
- [Registration form](https://github.com/aomsirawit/workstracker/blob/main/resources/views/auth/register.blade.php): `resources/views/auth/register.blade.php`
- [Login form](https://github.com/aomsirawit/workstracker/blob/main/resources/views/auth/login.blade.php): `resources/views/auth/login.blade.php`
- [Verification prompt](https://github.com/aomsirawit/workstracker/blob/main/resources/views/auth/verify-email.blade.php): `resources/views/auth/verify-email.blade.php`
- [Profile screen](https://github.com/aomsirawit/workstracker/blob/main/resources/views/profile/edit.blade.php): `resources/views/profile/edit.blade.php`

### Other components

- **Visitor or user**

## Connections

- Work actions → Work records: reads and writes
- Work actions → Work statuses: loads statuses
- Work actions → Running list: renders
- Work actions → Succeeded list: renders
- Work actions → Cancelled list: renders
- Work actions → All works: renders
- Work actions → Add work form: renders
- Work actions → Edit work form: renders
- Work navigation → Add work form: links to
- Visitor or user → Registration: registers
- Registration → User account: creates account
- Registration → Registration form: renders
- Visitor or user → Login session: logs in
- Login session → Login form: renders
- Visitor or user → Email verification: verifies email
- Email verification → User account: marks verified
- Visitor or user → Profile management: manages profile
- Profile management → User account: updates or deletes
- Profile management → Profile screen: renders
- Verification prompt → Email verification: requests verification
