# vcsreddy2004/roomnest architecture

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

- Interactive diagram: https://gitdiagram.com/vcsreddy2004/roomnest
- Repository: https://github.com/vcsreddy2004/roomnest

## Overview

LivNexa is represented here as a property and resident-management backend, with authentication, property setup, occupancy, payments, and dashboard reporting as its main domains. The tree also includes a Flutter client, but no client runtime source or README content was provided, so its user interface and API wiring are not mapped. Backend controller-to-service calls are shown where sampled controllers establish them; unsampled repository and route wiring is left unspecified.

Main entry points: [`livnexa-backend/src/server.ts`](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/server.ts) (API server), [`livnexa-backend/src/modules/property/propertyController.ts`](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/property/propertyController.ts) (Property API), [`livnexa-backend/src/modules/floor/floorController.ts`](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/floor/floorController.ts) (Floor API), [`livnexa-backend/src/modules/room/roomController.ts`](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/room/roomController.ts) (Room API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["API runtime"]
  node_server["API server<br/>[server.ts]"]
  node_app["Express app<br/>[app.ts]"]
  node_database["Database connection<br/>[database.ts]"]
end

subgraph group_identity["Identity and users"]
  node_auth["Authentication<br/>[authService.ts]"]
  node_user["User management<br/>[userService.ts]"]
  node_auth_repository["Auth repository<br/>[authRepository.ts]"]
end

subgraph group_property["Property operations"]
  node_property["Property management<br/>[propertyService.ts]"]
  node_floor["Floor management<br/>[floorService.ts]"]
  node_room["Room management<br/>[roomService.ts]"]
  node_bed["Room beds<br/>[bedService.ts]"]
  node_property_controller["Property API"]
  node_floor_controller["Floor API<br/>[floorController.ts]"]
  node_room_controller["Room API<br/>[roomController.ts]"]
  node_property_repository["Property repository"]
end

subgraph group_occupancy["Occupancy and payments"]
  node_resident["Resident management<br/>[residentService.ts]"]
  node_payment["Payment management<br/>[paymentService.ts]"]
  node_resident_controller["Resident API"]
  node_payment_controller["Payment API"]
  node_resident_repository["Resident repository"]
  node_payment_repository["Payment repository"]
end

subgraph group_insights["Reporting"]
  node_dashboard["Dashboard reporting"]
  node_dashboard_controller["Dashboard API"]
  node_dashboard_repository["Dashboard repository"]
end

node_operator(("Property operator"))

node_server -->|"connects"| node_database
node_server -->|"starts"| node_app
node_operator -->|"authenticates"| node_auth
node_property_controller -->|"calls"| node_property
node_floor_controller -->|"calls"| node_floor
node_room_controller -->|"calls"| node_room
node_resident_controller -->|"calls"| node_resident
node_payment_controller -->|"calls"| node_payment
node_dashboard_controller -->|"calls"| node_dashboard

click node_server "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/server.ts"
click node_app "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/app.ts"
click node_auth "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/auth/authService.ts"
click node_user "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/user/userService.ts"
click node_property "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/property/propertyService.ts"
click node_floor "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/floor/floorService.ts"
click node_room "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/room/roomService.ts"
click node_bed "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/bed/bedService.ts"
click node_resident "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/resident/residentService.ts"
click node_payment "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/payment/paymentService.ts"
click node_dashboard "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/dashboard/dashboardService.ts"
click node_database "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/config/database.ts"
click node_property_controller "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/property/propertyController.ts"
click node_floor_controller "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/floor/floorController.ts"
click node_room_controller "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/room/roomController.ts"
click node_resident_controller "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/resident/residentController.ts"
click node_payment_controller "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/payment/paymentController.ts"
click node_dashboard_controller "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/dashboard/dashboardController.ts"
click node_auth_repository "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/auth/authRepository.ts"
click node_property_repository "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/property/propertyRepository.ts"
click node_resident_repository "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/resident/residentRepository.ts"
click node_payment_repository "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/payment/paymentRepository.ts"
click node_dashboard_repository "https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/dashboard/dashboardRepository.ts"

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_server,node_app,node_database toneBlue
class node_auth,node_user,node_auth_repository toneAmber
class node_property,node_floor,node_room,node_bed,node_property_controller,node_floor_controller,node_room_controller,node_property_repository toneMint
class node_resident,node_payment,node_resident_controller,node_payment_controller,node_resident_repository,node_payment_repository toneRose
class node_dashboard,node_dashboard_controller,node_dashboard_repository,node_operator toneIndigo
```

## Components

### API runtime

- [API server](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/server.ts): `livnexa-backend/src/server.ts`
- [Express app](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/app.ts): `livnexa-backend/src/app.ts`
- [Database connection](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/config/database.ts): `livnexa-backend/src/config/database.ts`

### Identity and users

- [Authentication](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/auth/authService.ts): `livnexa-backend/src/modules/auth/authService.ts`
- [User management](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/user/userService.ts): `livnexa-backend/src/modules/user/userService.ts`
- [Auth repository](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/auth/authRepository.ts): `livnexa-backend/src/modules/auth/authRepository.ts`

### Property operations

- [Property management](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/property/propertyService.ts): `livnexa-backend/src/modules/property/propertyService.ts`
- [Floor management](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/floor/floorService.ts): `livnexa-backend/src/modules/floor/floorService.ts`
- [Room management](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/room/roomService.ts): `livnexa-backend/src/modules/room/roomService.ts`
- [Room beds](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/bed/bedService.ts): `livnexa-backend/src/modules/bed/bedService.ts`
- [Property API](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/property/propertyController.ts): `livnexa-backend/src/modules/property/propertyController.ts`
- [Floor API](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/floor/floorController.ts): `livnexa-backend/src/modules/floor/floorController.ts`
- [Room API](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/room/roomController.ts): `livnexa-backend/src/modules/room/roomController.ts`
- [Property repository](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/property/propertyRepository.ts): `livnexa-backend/src/modules/property/propertyRepository.ts`

### Occupancy and payments

- [Resident management](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/resident/residentService.ts): `livnexa-backend/src/modules/resident/residentService.ts`
- [Payment management](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/payment/paymentService.ts): `livnexa-backend/src/modules/payment/paymentService.ts`
- [Resident API](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/resident/residentController.ts): `livnexa-backend/src/modules/resident/residentController.ts`
- [Payment API](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/payment/paymentController.ts): `livnexa-backend/src/modules/payment/paymentController.ts`
- [Resident repository](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/resident/residentRepository.ts): `livnexa-backend/src/modules/resident/residentRepository.ts`
- [Payment repository](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/payment/paymentRepository.ts): `livnexa-backend/src/modules/payment/paymentRepository.ts`

### Reporting

- [Dashboard reporting](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/dashboard/dashboardService.ts): `livnexa-backend/src/modules/dashboard/dashboardService.ts`
- [Dashboard API](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/dashboard/dashboardController.ts): `livnexa-backend/src/modules/dashboard/dashboardController.ts`
- [Dashboard repository](https://github.com/vcsreddy2004/roomnest/blob/main/livnexa-backend/src/modules/dashboard/dashboardRepository.ts): `livnexa-backend/src/modules/dashboard/dashboardRepository.ts`

### Other components

- **Property operator**

## Connections

- API server → Database connection: connects
- API server → Express app: starts
- Property operator → Authentication: authenticates
- Property API → Property management: calls
- Floor API → Floor management: calls
- Room API → Room management: calls
- Resident API → Resident management: calls
- Payment API → Payment management: calls
- Dashboard API → Dashboard reporting: calls
