# venugopalreddy787/odoo_hackathon_2026 architecture

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

## Overview

AssetFlow is a multi-tenant asset and resource-management ERP. Users sign in and work through the React portal; its API requests enter the Express router, reach domain services, and produce operational records or dashboards and reports. The graph preserves the documented organization, asset lifecycle, allocation, booking, maintenance, audit, notification, and analytics capabilities. README documents the general service-to-database architecture; sampled controller excerpts confirm several service calls, but many module internals were not sampled, so uncertain module-level wiring is omitted.

Main entry points: [`backend/src/modules`](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules) (Domain services), [`backend/src/routes.ts`](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/backend/src/routes.ts) (Express API router), [`frontend/src/App.tsx`](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/App.tsx) (React portal), [`frontend/src/lib/api.ts`](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/lib/api.ts) (HTTP API client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Web portal"]
  node_portal["React portal<br/>[App.tsx]"]
  node_assetpages["Asset workflows<br/>[AssetRegistry.tsx]"]
  node_allocationpage["Allocation and audit"]
  node_bookingpage["Resource booking"]
  node_maintenancepage["Maintenance<br/>[Maintenance.tsx]"]
  node_insightpages["Dashboard and reports<br/>[Dashboard.tsx]"]
  node_apiclient["HTTP API client<br/>[api.ts]"]
end

subgraph group_gateway["API gateway"]
  node_gatewaynode["Express API router<br/>[routes.ts]"]
end

subgraph group_operations["Asset operations"]
  node_assets["Asset registry"]
  node_allocation["Allocation and transfers"]
  node_booking["Resource scheduling"]
  node_maintenance["Repair workflows"]
end

subgraph group_governance["Organization governance"]
  node_auth["Identity and sessions"]
  node_organization["Departments and employees"]
  node_audit["Audit cycles"]
  node_catalog["Asset categories"]
end

subgraph group_insight["Insights and messaging"]
  node_dashreports["Dashboard and reports"]
  node_reporting["Report generation"]
  node_activity["Activity history"]
  node_notifications["Notifications"]
end

subgraph group_platform["Runtime services"]
  node_service["Domain services"]
  node_database[("Relational database<br/>[db.ts]")]
  node_redis[("Redis cache and sessions<br/>[client.ts]")]
  node_socket["Realtime socket server<br/>[manager.ts]"]
  node_queue["Background workers"]
end

node_user(("Staff and managers"))

node_user -->|"uses"| node_portal
node_portal -->|"opens workflows"| node_assetpages
node_portal -->|"opens workflows"| node_allocationpage
node_portal -->|"opens workflows"| node_bookingpage
node_portal -->|"opens workflows"| node_maintenancepage
node_portal -->|"opens insights"| node_insightpages
node_assetpages -->|"requests data"| node_apiclient
node_allocationpage -->|"requests data"| node_apiclient
node_bookingpage -->|"requests data"| node_apiclient
node_maintenancepage -->|"requests data"| node_apiclient
node_insightpages -->|"requests data"| node_apiclient
node_apiclient -->|"sends REST"| node_gatewaynode
node_gatewaynode -->|"dispatches auth"| node_auth
node_gatewaynode -->|"dispatches org"| node_organization
node_gatewaynode -->|"dispatches assets"| node_assets
node_gatewaynode -->|"dispatches allocation"| node_allocation
node_gatewaynode -->|"dispatches bookings"| node_booking
node_gatewaynode -->|"dispatches maintenance"| node_maintenance
node_gatewaynode -->|"dispatches audits"| node_audit
node_gatewaynode -->|"dispatches categories"| node_catalog
node_gatewaynode -->|"dispatches dashboard"| node_dashreports
node_gatewaynode -->|"dispatches reports"| node_reporting
node_gatewaynode -->|"dispatches logs"| node_activity
node_gatewaynode -->|"dispatches notifications"| node_notifications
node_auth -->|"invokes services"| node_service
node_organization -->|"invokes services"| node_service
node_assets -->|"invokes services"| node_service
node_allocation -->|"invokes services"| node_service
node_booking -->|"invokes services"| node_service
node_maintenance -->|"invokes services"| node_service
node_audit -->|"invokes services"| node_service
node_catalog -->|"invokes services"| node_service
node_dashreports -->|"invokes services"| node_service
node_reporting -->|"invokes services"| node_service
node_notifications -->|"invokes services"| node_service
node_service -->|"reads and writes"| node_database
node_service -.->|"uses cache"| node_redis
node_service -.->|"queues jobs"| node_queue
node_service -.->|"emits events"| node_socket
node_auth -->|"logs activity"| node_activity
node_reporting -->|"logs views"| node_activity

click node_portal "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/App.tsx"
click node_assetpages "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/AssetRegistry.tsx"
click node_allocationpage "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/AssetAllocation.tsx"
click node_bookingpage "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/ResourceBooking.tsx"
click node_maintenancepage "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/Maintenance.tsx"
click node_insightpages "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/Dashboard.tsx"
click node_apiclient "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/lib/api.ts"
click node_gatewaynode "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/backend/src/routes.ts"
click node_auth "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/auth"
click node_organization "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/department"
click node_assets "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/asset"
click node_allocation "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/allocation"
click node_booking "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/booking"
click node_maintenance "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/maintenance"
click node_audit "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/audit"
click node_catalog "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/asset-category"
click node_dashreports "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/dashboard"
click node_reporting "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/reports"
click node_activity "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/activity-log"
click node_notifications "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/notification"
click node_service "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules"
click node_database "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/backend/src/database/db.ts"
click node_redis "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/backend/src/core/redis/client.ts"
click node_socket "https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/backend/src/core/socket/manager.ts"
click node_queue "https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/core/queue/workers"

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_portal,node_assetpages,node_allocationpage,node_bookingpage,node_maintenancepage,node_insightpages,node_apiclient toneBlue
class node_gatewaynode toneAmber
class node_assets,node_allocation,node_booking,node_maintenance toneMint
class node_auth,node_organization,node_audit,node_catalog toneRose
class node_dashreports,node_reporting,node_activity,node_notifications,node_user toneIndigo
class node_service,node_database,node_redis,node_socket,node_queue toneTeal
```

## Components

### Web portal

- [React portal](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/App.tsx): `frontend/src/App.tsx`
- [Asset workflows](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/AssetRegistry.tsx): `frontend/src/pages/AssetRegistry.tsx`
- [Allocation and audit](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/AssetAllocation.tsx): `frontend/src/pages/AssetAllocation.tsx`
- [Resource booking](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/ResourceBooking.tsx): `frontend/src/pages/ResourceBooking.tsx`
- [Maintenance](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/Maintenance.tsx): `frontend/src/pages/Maintenance.tsx`
- [Dashboard and reports](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/pages/Dashboard.tsx): `frontend/src/pages/Dashboard.tsx`
- [HTTP API client](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/frontend/src/lib/api.ts): `frontend/src/lib/api.ts`

### API gateway

- [Express API router](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/backend/src/routes.ts): `backend/src/routes.ts`

### Asset operations

- [Asset registry](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/asset): `backend/src/modules/asset`
- [Allocation and transfers](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/allocation): `backend/src/modules/allocation`
- [Resource scheduling](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/booking): `backend/src/modules/booking`
- [Repair workflows](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/maintenance): `backend/src/modules/maintenance`

### Organization governance

- [Identity and sessions](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/auth): `backend/src/modules/auth`
- [Departments and employees](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/department): `backend/src/modules/department`
- [Audit cycles](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/audit): `backend/src/modules/audit`
- [Asset categories](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/asset-category): `backend/src/modules/asset-category`

### Insights and messaging

- [Dashboard and reports](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/dashboard): `backend/src/modules/dashboard`
- [Report generation](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/reports): `backend/src/modules/reports`
- [Activity history](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/activity-log): `backend/src/modules/activity-log`
- [Notifications](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules/notification): `backend/src/modules/notification`

### Runtime services

- [Domain services](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/modules): `backend/src/modules`
- [Relational database](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/backend/src/database/db.ts): `backend/src/database/db.ts`
- [Redis cache and sessions](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/backend/src/core/redis/client.ts): `backend/src/core/redis/client.ts`
- [Realtime socket server](https://github.com/venugopalreddy787/odoo_hackathon_2026/blob/main/backend/src/core/socket/manager.ts): `backend/src/core/socket/manager.ts`
- [Background workers](https://github.com/venugopalreddy787/odoo_hackathon_2026/tree/main/backend/src/core/queue/workers): `backend/src/core/queue/workers`

### Other components

- **Staff and managers**

## Connections

- Staff and managers → React portal: uses
- React portal → Asset workflows: opens workflows
- React portal → Allocation and audit: opens workflows
- React portal → Resource booking: opens workflows
- React portal → Maintenance: opens workflows
- React portal → Dashboard and reports: opens insights
- Asset workflows → HTTP API client: requests data
- Allocation and audit → HTTP API client: requests data
- Resource booking → HTTP API client: requests data
- Maintenance → HTTP API client: requests data
- Dashboard and reports → HTTP API client: requests data
- HTTP API client → Express API router: sends REST
- Express API router → Identity and sessions: dispatches auth
- Express API router → Departments and employees: dispatches org
- Express API router → Asset registry: dispatches assets
- Express API router → Allocation and transfers: dispatches allocation
- Express API router → Resource scheduling: dispatches bookings
- Express API router → Repair workflows: dispatches maintenance
- Express API router → Audit cycles: dispatches audits
- Express API router → Asset categories: dispatches categories
- Express API router → Dashboard and reports: dispatches dashboard
- Express API router → Report generation: dispatches reports
- Express API router → Activity history: dispatches logs
- Express API router → Notifications: dispatches notifications
- Identity and sessions → Domain services: invokes services
- Departments and employees → Domain services: invokes services
- Asset registry → Domain services: invokes services
- Allocation and transfers → Domain services: invokes services
- Resource scheduling → Domain services: invokes services
- Repair workflows → Domain services: invokes services
- Audit cycles → Domain services: invokes services
- Asset categories → Domain services: invokes services
- Dashboard and reports → Domain services: invokes services
- Report generation → Domain services: invokes services
- Notifications → Domain services: invokes services
- Domain services → Relational database: reads and writes
- Domain services → Redis cache and sessions: uses cache
- Domain services → Background workers: queues jobs
- Domain services → Realtime socket server: emits events
- Identity and sessions → Activity history: logs activity
- Report generation → Activity history: logs views
