# febryannnn/scalator-adventure architecture

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

- Interactive diagram: https://gitdiagram.com/febryannnn/scalator-adventure
- Repository: https://github.com/febryannnn/scalator-adventure

## Overview

CiCOOL is a CodeIgniter admin/CMS platform: administrators configure the site, manage authentication, generate CRUD and API functionality, and build forms and pages; visitors consume published pages and API responses. The README documents these capabilities, while the supplied source excerpts mainly show route mappings, REST support, shared controller behavior, and generated CRUD-controller logic. Several feature implementations are unsampled, so their presence is shown without asserting internal wiring beyond documented routes and inheritance.

Main entry points: [`application`](https://github.com/febryannnn/scalator-adventure/tree/main/application) (Admin handlers), [`application/config/routes.php`](https://github.com/febryannnn/scalator-adventure/blob/main/application/config/routes.php) (Route mapping), [`application/config/database.php`](https://github.com/febryannnn/scalator-adventure/blob/main/application/config/database.php) (Application database), [`application/libraries/REST_Controller.php`](https://github.com/febryannnn/scalator-adventure/blob/main/application/libraries/REST_Controller.php) (REST API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Request handling"]
  node_routes["Route mapping<br/>[routes.php]"]
  node_admin_runtime["Admin handlers"]
  node_api_runtime["REST API"]
end

subgraph group_admin["Admin capabilities"]
  node_setup["Setup wizard"]
  node_auth["Authentication<br/>[aauth.php]"]
  node_crud_builder["CRUD generator"]
  node_form_builder["Form builder"]
end

subgraph group_content["Content and data"]
  node_page_builder["Page builder"]
  node_published_pages["Published pages"]
  node_generated_crud["Generated CRUD"]
  node_database[("Application database<br/>[database.php]")]
end

subgraph group_platform["Shared platform"]
  node_shared_controller["Shared controllers<br/>[My_Controller.php]"]
  node_admin_theme["Admin LTE theme"]
  node_file_upload["File uploads"]
end

node_admin_actor(("Administrator"))
node_visitor(("Site visitor"))

node_admin_actor -->|"sends requests"| node_routes
node_visitor -->|"requests pages"| node_routes
node_routes -->|"dispatches admin routes"| node_admin_runtime
node_routes -->|"dispatches API routes"| node_api_runtime
node_routes -->|"routes page requests"| node_published_pages
node_admin_runtime -->|"provides setup"| node_setup
node_admin_runtime -->|"provides sign-in"| node_auth
node_admin_runtime -->|"provides generation"| node_crud_builder
node_admin_runtime -->|"provides form building"| node_form_builder
node_admin_runtime -->|"provides page building"| node_page_builder
node_admin_runtime -->|"renders admin UI"| node_admin_theme
node_crud_builder -->|"generates controllers"| node_generated_crud
node_generated_crud -->|"reads and writes"| node_database
node_published_pages -->|"reads content"| node_database
node_api_runtime -->|"extended by API"| node_shared_controller
node_shared_controller -->|"uses configured data"| node_database
node_generated_crud -.->|"supports uploads"| node_file_upload

click node_routes "https://github.com/febryannnn/scalator-adventure/blob/main/application/config/routes.php"
click node_admin_runtime "https://github.com/febryannnn/scalator-adventure/tree/main/application"
click node_api_runtime "https://github.com/febryannnn/scalator-adventure/blob/main/application/libraries/REST_Controller.php"
click node_setup "https://github.com/febryannnn/scalator-adventure/tree/main/application"
click node_auth "https://github.com/febryannnn/scalator-adventure/blob/main/application/config/aauth.php"
click node_crud_builder "https://github.com/febryannnn/scalator-adventure/blob/main/application/views/core_template/crud/builder_controller.php"
click node_form_builder "https://github.com/febryannnn/scalator-adventure/tree/main/application"
click node_page_builder "https://github.com/febryannnn/scalator-adventure/tree/main/application"
click node_published_pages "https://github.com/febryannnn/scalator-adventure/tree/main/application"
click node_generated_crud "https://github.com/febryannnn/scalator-adventure/tree/main/application"
click node_database "https://github.com/febryannnn/scalator-adventure/blob/main/application/config/database.php"
click node_shared_controller "https://github.com/febryannnn/scalator-adventure/blob/main/application/core/My_Controller.php"
click node_admin_theme "https://github.com/febryannnn/scalator-adventure/tree/main/asset/admin-lte"
click node_file_upload "https://github.com/febryannnn/scalator-adventure/blob/main/asset/fine-upload/jquery.fine-uploader.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_routes,node_admin_runtime,node_api_runtime toneBlue
class node_setup,node_auth,node_crud_builder,node_form_builder toneAmber
class node_page_builder,node_published_pages,node_generated_crud,node_database toneMint
class node_shared_controller,node_admin_theme,node_file_upload toneRose
class node_admin_actor,node_visitor toneIndigo
```

## Components

### Request handling

- [Route mapping](https://github.com/febryannnn/scalator-adventure/blob/main/application/config/routes.php): `application/config/routes.php`
- [Admin handlers](https://github.com/febryannnn/scalator-adventure/tree/main/application): `application`
- [REST API](https://github.com/febryannnn/scalator-adventure/blob/main/application/libraries/REST_Controller.php): `application/libraries/REST_Controller.php`

### Admin capabilities

- [Setup wizard](https://github.com/febryannnn/scalator-adventure/tree/main/application): `application`
- [Authentication](https://github.com/febryannnn/scalator-adventure/blob/main/application/config/aauth.php): `application/config/aauth.php`
- [CRUD generator](https://github.com/febryannnn/scalator-adventure/blob/main/application/views/core_template/crud/builder_controller.php): `application/views/core_template/crud/builder_controller.php`
- [Form builder](https://github.com/febryannnn/scalator-adventure/tree/main/application): `application`

### Content and data

- [Page builder](https://github.com/febryannnn/scalator-adventure/tree/main/application): `application`
- [Published pages](https://github.com/febryannnn/scalator-adventure/tree/main/application): `application`
- [Generated CRUD](https://github.com/febryannnn/scalator-adventure/tree/main/application): `application`
- [Application database](https://github.com/febryannnn/scalator-adventure/blob/main/application/config/database.php): `application/config/database.php`

### Shared platform

- [Shared controllers](https://github.com/febryannnn/scalator-adventure/blob/main/application/core/My_Controller.php): `application/core/My_Controller.php`
- [Admin LTE theme](https://github.com/febryannnn/scalator-adventure/tree/main/asset/admin-lte): `asset/admin-lte`
- [File uploads](https://github.com/febryannnn/scalator-adventure/blob/main/asset/fine-upload/jquery.fine-uploader.js): `asset/fine-upload/jquery.fine-uploader.js`

### Other components

- **Administrator**
- **Site visitor**

## Connections

- Administrator → Route mapping: sends requests
- Site visitor → Route mapping: requests pages
- Route mapping → Admin handlers: dispatches admin routes
- Route mapping → REST API: dispatches API routes
- Route mapping → Published pages: routes page requests
- Admin handlers → Setup wizard: provides setup
- Admin handlers → Authentication: provides sign-in
- Admin handlers → CRUD generator: provides generation
- Admin handlers → Form builder: provides form building
- Admin handlers → Page builder: provides page building
- Admin handlers → Admin LTE theme: renders admin UI
- CRUD generator → Generated CRUD: generates controllers
- Generated CRUD → Application database: reads and writes
- Published pages → Application database: reads content
- REST API → Shared controllers: extended by API
- Shared controllers → Application database: uses configured data
- Generated CRUD → File uploads: supports uploads
