# nishangupta/nepestate architecture

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

## Overview

Nepestate is a Laravel real-estate website with property browsing and authenticated account features. A visitor enters through web routes to browse property pages; registered users can manage listings and their account, while registration and email verification support account access. The tree also shows saved-home, rental-resume, and property-application areas. Controller excerpts establish listing persistence and account updates; wiring for unsampled routes and controllers is inferred only at the route-dispatch level, so uncertain internal links are omitted.

Main entry points: [`routes/web.php`](https://github.com/nishangupta/nepestate/blob/master/routes/web.php) (Web routes), [`app/Http/Controllers/PropertyController.php`](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/PropertyController.php) (Property controller), [`app/Http/Controllers/UserPropertyController.php`](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/UserPropertyController.php) (User listings), [`app/Http/Controllers/AccountController.php`](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/AccountController.php) (Account controller)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_discovery["Property discovery"]
  node_web_routes["Web routes<br/>[web.php]"]
  node_property_controller["Property controller"]
  node_property_pages["Property pages<br/>[list.blade.php]"]
  node_home_page["Home page<br/>[index.blade.php]"]
end

subgraph group_listing["Listing management"]
  node_listing_controller["User listings"]
  node_listing_pages["Listing forms"]
  node_listing_table["Listing table"]
  node_applications["Property applications"]
end

subgraph group_account["Accounts"]
  node_account_controller["Account controller"]
  node_user_controller["User controller<br/>[UserController.php]"]
  node_registration["Registration"]
  node_verification["Email verification"]
  node_account_pages["Account pages"]
  node_saved_homes["Saved homes"]
  node_rental_resume["Rental resume"]
end

subgraph group_domain["Domain and persistence"]
  node_application_model["Application model"]
  node_property_model["Property model<br/>[Property.php]"]
  node_user_model["User model<br/>[User.php]"]
  node_user_info["User profile data<br/>[UserInfo.php]"]
  node_database[("Application database<br/>[database.php]")]
end

node_visitor(("Visitor"))

node_visitor -->|"requests pages"| node_web_routes
node_web_routes -->|"dispatches"| node_property_controller
node_web_routes -->|"dispatches"| node_listing_controller
node_web_routes -->|"dispatches"| node_applications
node_web_routes -->|"dispatches"| node_account_controller
node_web_routes -->|"dispatches"| node_user_controller
node_web_routes -->|"dispatches"| node_registration
node_web_routes -->|"dispatches"| node_verification
node_property_controller -->|"renders"| node_property_pages
node_property_controller -->|"renders"| node_home_page
node_listing_controller -->|"renders"| node_listing_pages
node_listing_controller -->|"renders"| node_listing_table
node_listing_controller -->|"reads and saves"| node_property_model
node_property_controller -->|"uses"| node_property_model
node_applications -->|"uses"| node_application_model
node_account_controller -->|"updates"| node_user_model
node_account_controller -->|"updates"| node_user_info
node_registration -->|"creates"| node_user_model
node_account_controller -->|"renders"| node_account_pages
node_user_controller -->|"renders"| node_saved_homes
node_user_controller -->|"renders"| node_rental_resume
node_property_model -->|"persists"| node_database
node_application_model -->|"persists"| node_database
node_user_model -->|"persists"| node_database
node_user_info -->|"persists"| node_database

click node_web_routes "https://github.com/nishangupta/nepestate/blob/master/routes/web.php"
click node_property_controller "https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/PropertyController.php"
click node_property_pages "https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/property/list.blade.php"
click node_home_page "https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/index.blade.php"
click node_listing_controller "https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/UserPropertyController.php"
click node_listing_pages "https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/property-create.blade.php"
click node_listing_table "https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/property-listings.blade.php"
click node_applications "https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/PropertyApplicationController.php"
click node_application_model "https://github.com/nishangupta/nepestate/blob/master/app/PropertyApplication.php"
click node_account_controller "https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/AccountController.php"
click node_user_controller "https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/UserController.php"
click node_registration "https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/Auth/RegisterController.php"
click node_verification "https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/Auth/VerificationController.php"
click node_account_pages "https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/user-profile.blade.php"
click node_saved_homes "https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/saved-homes.blade.php"
click node_rental_resume "https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/rental-resume.blade.php"
click node_property_model "https://github.com/nishangupta/nepestate/blob/master/app/Property.php"
click node_user_model "https://github.com/nishangupta/nepestate/blob/master/app/User.php"
click node_user_info "https://github.com/nishangupta/nepestate/blob/master/app/UserInfo.php"
click node_database "https://github.com/nishangupta/nepestate/blob/master/config/database.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_web_routes,node_property_controller,node_property_pages,node_home_page toneBlue
class node_listing_controller,node_listing_pages,node_listing_table,node_applications toneAmber
class node_account_controller,node_user_controller,node_registration,node_verification,node_account_pages,node_saved_homes,node_rental_resume toneMint
class node_application_model,node_property_model,node_user_model,node_user_info,node_database toneRose
class node_visitor toneIndigo
```

## Components

### Property discovery

- [Web routes](https://github.com/nishangupta/nepestate/blob/master/routes/web.php): `routes/web.php`
- [Property controller](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/PropertyController.php): `app/Http/Controllers/PropertyController.php`
- [Property pages](https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/property/list.blade.php): `resources/views/real-estate/property/list.blade.php`
- [Home page](https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/index.blade.php): `resources/views/real-estate/index.blade.php`

### Listing management

- [User listings](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/UserPropertyController.php): `app/Http/Controllers/UserPropertyController.php`
- [Listing forms](https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/property-create.blade.php): `resources/views/real-estate/account/property-create.blade.php`
- [Listing table](https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/property-listings.blade.php): `resources/views/real-estate/account/property-listings.blade.php`
- [Property applications](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/PropertyApplicationController.php): `app/Http/Controllers/PropertyApplicationController.php`

### Accounts

- [Account controller](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/AccountController.php): `app/Http/Controllers/AccountController.php`
- [User controller](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/UserController.php): `app/Http/Controllers/UserController.php`
- [Registration](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/Auth/RegisterController.php): `app/Http/Controllers/Auth/RegisterController.php`
- [Email verification](https://github.com/nishangupta/nepestate/blob/master/app/Http/Controllers/Auth/VerificationController.php): `app/Http/Controllers/Auth/VerificationController.php`
- [Account pages](https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/user-profile.blade.php): `resources/views/real-estate/account/user-profile.blade.php`
- [Saved homes](https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/saved-homes.blade.php): `resources/views/real-estate/account/saved-homes.blade.php`
- [Rental resume](https://github.com/nishangupta/nepestate/blob/master/resources/views/real-estate/account/rental-resume.blade.php): `resources/views/real-estate/account/rental-resume.blade.php`

### Domain and persistence

- [Application model](https://github.com/nishangupta/nepestate/blob/master/app/PropertyApplication.php): `app/PropertyApplication.php`
- [Property model](https://github.com/nishangupta/nepestate/blob/master/app/Property.php): `app/Property.php`
- [User model](https://github.com/nishangupta/nepestate/blob/master/app/User.php): `app/User.php`
- [User profile data](https://github.com/nishangupta/nepestate/blob/master/app/UserInfo.php): `app/UserInfo.php`
- [Application database](https://github.com/nishangupta/nepestate/blob/master/config/database.php): `config/database.php`

### Other components

- **Visitor**

## Connections

- Visitor → Web routes: requests pages
- Web routes → Property controller: dispatches
- Web routes → User listings: dispatches
- Web routes → Property applications: dispatches
- Web routes → Account controller: dispatches
- Web routes → User controller: dispatches
- Web routes → Registration: dispatches
- Web routes → Email verification: dispatches
- Property controller → Property pages: renders
- Property controller → Home page: renders
- User listings → Listing forms: renders
- User listings → Listing table: renders
- User listings → Property model: reads and saves
- Property controller → Property model: uses
- Property applications → Application model: uses
- Account controller → User model: updates
- Account controller → User profile data: updates
- Registration → User model: creates
- Account controller → Account pages: renders
- User controller → Saved homes: renders
- User controller → Rental resume: renders
- Property model → Application database: persists
- Application model → Application database: persists
- User model → Application database: persists
- User profile data → Application database: persists
