# rdethei/quoros architecture

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

## Overview

Quoros is a Laravel novel-reading and publishing platform. Readers discover novels through curated, genre, updated, trending, and search views, then read chapters and use social/organization features; writers manage novels and chapters, while administrators curate and moderate the catalog. The graph also shows review persistence and live-search requests supported by sampled code. The README documents Cloudinary and Discord integrations, and the tree shows import parsers and other product areas; unsampled wiring is intentionally not inferred.

Main entry points: [`app/Http/Controllers/NovelController.php`](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/NovelController.php) (Catalog and discovery), [`app/Http/Controllers/Api/LiveSearchController.php`](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/Api/LiveSearchController.php) (Search API), [`app/Http/Controllers/ReviewController.php`](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/ReviewController.php) (Ratings and reviews), [`app/Models/Novel.php`](https://github.com/rdethei/quoros/blob/master/app/Models/Novel.php) (Novel catalog)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_discovery["Novel discovery"]
  node_novel_catalog["Catalog and discovery"]
  node_live_search_ui["Live search UI<br/>[app.js]"]
  node_search_api["Search API"]
  node_novel_store[("Novel catalog<br/>[Novel.php]")]
end

subgraph group_reading["Reading community"]
  node_chapter_store[("Chapter library<br/>[Chapter.php]")]
  node_reader_actions["Reader actions"]
  node_reviews["Ratings and reviews"]
  node_review_store[("Review records<br/>[Review.php]")]
  node_reader_history["History and lists"]
  node_community["Community activity"]
  node_notifications["Notifications"]
end

subgraph group_publishing["Writer publishing"]
  node_writer_workspace["Novel workspace"]
  node_chapter_editor["Chapter publishing"]
  node_import_parsers["Novel import parsers"]
  node_image_storage["Image service"]
end

subgraph group_operations["Administration"]
  node_admin_catalog["Catalog management"]
  node_admin_moderation["Report moderation"]
  node_report_store[("Reports<br/>[Report.php]")]
end

node_reader(("Reader"))
node_writer(("Writer"))
node_admin(("Administrator"))
node_sql_database[("MySQL database")]
node_cloudinary{{"Cloudinary"}}
node_discord{{"Discord"}}

node_reader -->|"browse"| node_novel_catalog
node_novel_catalog -->|"queries"| node_novel_store
node_reader -->|"searches"| node_live_search_ui
node_live_search_ui -->|"fetches"| node_search_api
node_search_api -->|"queries"| node_novel_store
node_reader -->|"reads chapters"| node_chapter_store
node_reader -->|"bookmarks"| node_reader_actions
node_reader -->|"reviews"| node_reviews
node_reviews -->|"creates and deletes"| node_review_store
node_reviews -->|"updates rating"| node_novel_store
node_reader -->|"organizes reading"| node_reader_history
node_reader -->|"comments"| node_community
node_writer -->|"manages novels"| node_writer_workspace
node_writer -->|"publishes chapters"| node_chapter_editor
node_writer -->|"imports manuscripts"| node_import_parsers
node_writer -.->|"uploads images"| node_image_storage
node_image_storage -.->|"stores media"| node_cloudinary
node_admin -->|"curates catalog"| node_admin_catalog
node_admin -->|"reviews reports"| node_admin_moderation
node_admin_moderation -->|"reads and updates"| node_report_store
node_notifications -.->|"notifies"| node_discord
node_novel_catalog -->|"reads catalog data"| node_sql_database
node_search_api -->|"queries catalog"| node_sql_database
node_review_store -->|"persists reviews"| node_sql_database
node_report_store -->|"persists reports"| node_sql_database

click node_novel_catalog "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/NovelController.php"
click node_live_search_ui "https://github.com/rdethei/quoros/blob/master/resources/js/app.js"
click node_search_api "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/Api/LiveSearchController.php"
click node_novel_store "https://github.com/rdethei/quoros/blob/master/app/Models/Novel.php"
click node_chapter_store "https://github.com/rdethei/quoros/blob/master/app/Models/Chapter.php"
click node_reader_actions "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/BookmarkController.php"
click node_reviews "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/ReviewController.php"
click node_review_store "https://github.com/rdethei/quoros/blob/master/app/Models/Review.php"
click node_reader_history "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/UserListController.php"
click node_community "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/CommentController.php"
click node_notifications "https://github.com/rdethei/quoros/blob/master/app/Services/InAppNotificationService.php"
click node_writer_workspace "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/NovelController.php"
click node_chapter_editor "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/ChapterController.php"
click node_import_parsers "https://github.com/rdethei/quoros/tree/master/app/Services"
click node_image_storage "https://github.com/rdethei/quoros/blob/master/app/Services/CloudinaryService.php"
click node_admin_catalog "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/Admin/GenreController.php"
click node_admin_moderation "https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/Admin/ReportController.php"
click node_report_store "https://github.com/rdethei/quoros/blob/master/app/Models/Report.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_novel_catalog,node_live_search_ui,node_search_api,node_novel_store toneBlue
class node_chapter_store,node_reader_actions,node_reviews,node_review_store,node_reader_history,node_community,node_notifications,node_sql_database toneAmber
class node_writer_workspace,node_chapter_editor,node_import_parsers,node_image_storage toneMint
class node_admin_catalog,node_admin_moderation,node_report_store toneRose
class node_reader,node_writer,node_admin,node_cloudinary,node_discord toneIndigo
```

## Components

### Novel discovery

- [Catalog and discovery](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/NovelController.php): `app/Http/Controllers/NovelController.php`
- [Live search UI](https://github.com/rdethei/quoros/blob/master/resources/js/app.js): `resources/js/app.js`
- [Search API](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/Api/LiveSearchController.php): `app/Http/Controllers/Api/LiveSearchController.php`
- [Novel catalog](https://github.com/rdethei/quoros/blob/master/app/Models/Novel.php): `app/Models/Novel.php`

### Reading community

- [Chapter library](https://github.com/rdethei/quoros/blob/master/app/Models/Chapter.php): `app/Models/Chapter.php`
- [Reader actions](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/BookmarkController.php): `app/Http/Controllers/BookmarkController.php`
- [Ratings and reviews](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/ReviewController.php): `app/Http/Controllers/ReviewController.php`
- [Review records](https://github.com/rdethei/quoros/blob/master/app/Models/Review.php): `app/Models/Review.php`
- [History and lists](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/UserListController.php): `app/Http/Controllers/UserListController.php`
- [Community activity](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/CommentController.php): `app/Http/Controllers/CommentController.php`
- [Notifications](https://github.com/rdethei/quoros/blob/master/app/Services/InAppNotificationService.php): `app/Services/InAppNotificationService.php`

### Writer publishing

- [Novel workspace](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/NovelController.php): `app/Http/Controllers/NovelController.php`
- [Chapter publishing](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/ChapterController.php): `app/Http/Controllers/ChapterController.php`
- [Novel import parsers](https://github.com/rdethei/quoros/tree/master/app/Services): `app/Services`
- [Image service](https://github.com/rdethei/quoros/blob/master/app/Services/CloudinaryService.php): `app/Services/CloudinaryService.php`

### Administration

- [Catalog management](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/Admin/GenreController.php): `app/Http/Controllers/Admin/GenreController.php`
- [Report moderation](https://github.com/rdethei/quoros/blob/master/app/Http/Controllers/Admin/ReportController.php): `app/Http/Controllers/Admin/ReportController.php`
- [Reports](https://github.com/rdethei/quoros/blob/master/app/Models/Report.php): `app/Models/Report.php`

### Other components

- **Reader**
- **Writer**
- **Administrator**
- **MySQL database**
- **Cloudinary**
- **Discord**

## Connections

- Reader → Catalog and discovery: browse
- Catalog and discovery → Novel catalog: queries
- Reader → Live search UI: searches
- Live search UI → Search API: fetches
- Search API → Novel catalog: queries
- Reader → Chapter library: reads chapters
- Reader → Reader actions: bookmarks
- Reader → Ratings and reviews: reviews
- Ratings and reviews → Review records: creates and deletes
- Ratings and reviews → Novel catalog: updates rating
- Reader → History and lists: organizes reading
- Reader → Community activity: comments
- Writer → Novel workspace: manages novels
- Writer → Chapter publishing: publishes chapters
- Writer → Novel import parsers: imports manuscripts
- Writer → Image service: uploads images
- Image service → Cloudinary: stores media
- Administrator → Catalog management: curates catalog
- Administrator → Report moderation: reviews reports
- Report moderation → Reports: reads and updates
- Notifications → Discord: notifies
- Catalog and discovery → MySQL database: reads catalog data
- Search API → MySQL database: queries catalog
- Review records → MySQL database: persists reviews
- Reports → MySQL database: persists reports
