# crl-charm/ideaflows architecture

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

## Overview

IdeaHub is a venue operations and point-of-sale application. Staff and administrators use its web/API routes to manage bookings and customer sessions, take menu orders, track inventory, and record checkout and financial activity; administrators also manage staff and review analytics. The README describes a route–service–repository–model architecture, and sampled code confirms session checkout and order handling. Several feature links below follow the documented architecture and tree; unsampled implementation details are not asserted.

Main entry points: [`app/models`](https://github.com/crl-charm/ideaflows/tree/master/app/models) (Domain records), [`app/routes/session_routes.py`](https://github.com/crl-charm/ideaflows/blob/master/app/routes/session_routes.py) (Customer sessions), [`app/services/session_service.py`](https://github.com/crl-charm/ideaflows/blob/master/app/services/session_service.py) (Session billing), [`app/controllers/finance_controller.py`](https://github.com/crl-charm/ideaflows/blob/master/app/controllers/finance_controller.py) (Finance operations)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_operations["Venue Operations"]
  node_booking["Space bookings"]
  node_booking_service["Booking rules<br/>[booking_service.py]"]
  node_sessions["Customer sessions<br/>[session_routes.py]"]
  node_session_service["Session billing<br/>[session_service.py]"]
  node_session_repo["Session queries"]
end

subgraph group_commerce["Orders and Stock"]
  node_orders["Menu and orders<br/>[order_routes.py]"]
  node_order_service["Order processing<br/>[order_service.py]"]
  node_inventory["Inventory control"]
end

subgraph group_finance["Finance and Insights"]
  node_finance_api["Finance operations"]
  node_finance_service["Finance services"]
  node_analytics["Analytics<br/>[analytics.py]"]
end

subgraph group_admin["Administration"]
  node_management["Staff management"]
  node_admin_routes["Admin operations<br/>[admin_routes.py]"]
end

subgraph group_platform["Application Platform"]
  node_web_app["Flask application<br/>[app.py]"]
  node_auth["Authentication<br/>[auth_routes.py]"]
  node_realtime["Live updates"]
  node_models["Domain records"]
  node_database[("SQL database")]
end

node_staff(("Staff"))
node_admin_actor(("Administrator"))

node_staff -->|"uses"| node_web_app
node_admin_actor -->|"uses"| node_web_app
node_web_app -->|"registers routes"| node_auth
node_staff -->|"checks in"| node_sessions
node_sessions -->|"delegates"| node_session_service
node_session_service -->|"queries and saves"| node_session_repo
node_session_repo -->|"reads and writes"| node_models
node_session_service -->|"creates transaction"| node_models
node_staff -->|"manages bookings"| node_booking
node_booking -->|"delegates"| node_booking_service
node_staff -->|"places orders"| node_orders
node_orders -->|"delegates"| node_order_service
node_order_service -->|"records orders"| node_models
node_staff -->|"manages stock"| node_inventory
node_admin_actor -->|"records finances"| node_finance_api
node_finance_api -->|"calls"| node_finance_service
node_admin_actor -->|"reviews reports"| node_analytics
node_admin_actor -->|"manages staff"| node_management
node_management -->|"reads and updates"| node_models
node_admin_actor -->|"manages operations"| node_admin_routes
node_sessions -.->|"emits updates"| node_realtime
node_finance_api -->|"emits balance update"| node_realtime
node_models -->|"persists records"| node_database

click node_web_app "https://github.com/crl-charm/ideaflows/blob/master/app.py"
click node_auth "https://github.com/crl-charm/ideaflows/blob/master/app/routes/auth_routes.py"
click node_booking "https://github.com/crl-charm/ideaflows/tree/master/app/routes"
click node_booking_service "https://github.com/crl-charm/ideaflows/blob/master/app/services/booking_service.py"
click node_sessions "https://github.com/crl-charm/ideaflows/blob/master/app/routes/session_routes.py"
click node_session_service "https://github.com/crl-charm/ideaflows/blob/master/app/services/session_service.py"
click node_session_repo "https://github.com/crl-charm/ideaflows/blob/master/app/repositories/session_repository.py"
click node_orders "https://github.com/crl-charm/ideaflows/blob/master/app/routes/order_routes.py"
click node_order_service "https://github.com/crl-charm/ideaflows/blob/master/app/services/order_service.py"
click node_inventory "https://github.com/crl-charm/ideaflows/blob/master/app/services/inventory_service.py"
click node_finance_api "https://github.com/crl-charm/ideaflows/blob/master/app/controllers/finance_controller.py"
click node_finance_service "https://github.com/crl-charm/ideaflows/blob/master/app/services/finance_oop_service.py"
click node_analytics "https://github.com/crl-charm/ideaflows/blob/master/app/routes/analytics.py"
click node_management "https://github.com/crl-charm/ideaflows/blob/master/app/controllers/management_controller.py"
click node_admin_routes "https://github.com/crl-charm/ideaflows/blob/master/app/routes/admin_routes.py"
click node_realtime "https://github.com/crl-charm/ideaflows/blob/master/app/core/socketio_handlers.py"
click node_models "https://github.com/crl-charm/ideaflows/tree/master/app/models"

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_booking,node_booking_service,node_sessions,node_session_service,node_session_repo toneBlue
class node_orders,node_order_service,node_inventory toneAmber
class node_finance_api,node_finance_service,node_analytics toneMint
class node_management,node_admin_routes toneRose
class node_web_app,node_auth,node_realtime,node_models,node_database,node_staff,node_admin_actor toneIndigo
```

## Components

### Venue Operations

- [Space bookings](https://github.com/crl-charm/ideaflows/tree/master/app/routes): `app/routes`
- [Booking rules](https://github.com/crl-charm/ideaflows/blob/master/app/services/booking_service.py): `app/services/booking_service.py`
- [Customer sessions](https://github.com/crl-charm/ideaflows/blob/master/app/routes/session_routes.py): `app/routes/session_routes.py`
- [Session billing](https://github.com/crl-charm/ideaflows/blob/master/app/services/session_service.py): `app/services/session_service.py`
- [Session queries](https://github.com/crl-charm/ideaflows/blob/master/app/repositories/session_repository.py): `app/repositories/session_repository.py`

### Orders and Stock

- [Menu and orders](https://github.com/crl-charm/ideaflows/blob/master/app/routes/order_routes.py): `app/routes/order_routes.py`
- [Order processing](https://github.com/crl-charm/ideaflows/blob/master/app/services/order_service.py): `app/services/order_service.py`
- [Inventory control](https://github.com/crl-charm/ideaflows/blob/master/app/services/inventory_service.py): `app/services/inventory_service.py`

### Finance and Insights

- [Finance operations](https://github.com/crl-charm/ideaflows/blob/master/app/controllers/finance_controller.py): `app/controllers/finance_controller.py`
- [Finance services](https://github.com/crl-charm/ideaflows/blob/master/app/services/finance_oop_service.py): `app/services/finance_oop_service.py`
- [Analytics](https://github.com/crl-charm/ideaflows/blob/master/app/routes/analytics.py): `app/routes/analytics.py`

### Administration

- [Staff management](https://github.com/crl-charm/ideaflows/blob/master/app/controllers/management_controller.py): `app/controllers/management_controller.py`
- [Admin operations](https://github.com/crl-charm/ideaflows/blob/master/app/routes/admin_routes.py): `app/routes/admin_routes.py`

### Application Platform

- [Flask application](https://github.com/crl-charm/ideaflows/blob/master/app.py): `app.py`
- [Authentication](https://github.com/crl-charm/ideaflows/blob/master/app/routes/auth_routes.py): `app/routes/auth_routes.py`
- [Live updates](https://github.com/crl-charm/ideaflows/blob/master/app/core/socketio_handlers.py): `app/core/socketio_handlers.py`
- [Domain records](https://github.com/crl-charm/ideaflows/tree/master/app/models): `app/models`
- **SQL database**

### Other components

- **Staff**
- **Administrator**

## Connections

- Staff → Flask application: uses
- Administrator → Flask application: uses
- Flask application → Authentication: registers routes
- Staff → Customer sessions: checks in
- Customer sessions → Session billing: delegates
- Session billing → Session queries: queries and saves
- Session queries → Domain records: reads and writes
- Session billing → Domain records: creates transaction
- Staff → Space bookings: manages bookings
- Space bookings → Booking rules: delegates
- Staff → Menu and orders: places orders
- Menu and orders → Order processing: delegates
- Order processing → Domain records: records orders
- Staff → Inventory control: manages stock
- Administrator → Finance operations: records finances
- Finance operations → Finance services: calls
- Administrator → Analytics: reviews reports
- Administrator → Staff management: manages staff
- Staff management → Domain records: reads and updates
- Administrator → Admin operations: manages operations
- Customer sessions → Live updates: emits updates
- Finance operations → Live updates: emits balance update
- Domain records → SQL database: persists records
