# ericadevs/nyumbani-interiors architecture

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

- Interactive diagram: https://gitdiagram.com/ericadevs/nyumbani-interiors
- Repository: https://github.com/ericadevs/nyumbani-interiors

## Overview

IntDesigns is a Django interior-design portfolio and lead-generation site with an administrative dashboard. Visitors browse studio information and project galleries, or submit contact, consultation, and appointment requests; staff manage projects and review or delete those submissions. The graph separates public routing, portfolio, inquiry handling, and administration. Evidence is limited to the README (empty) and indexed excerpts/read files; unsampled dashboard capabilities are represented only where the tree or indexed references support them.

Main entry points: [`Dashboard/views.py`](https://github.com/ericadevs/nyumbani-interiors/blob/main/Dashboard/views.py) (Dashboard Views), [`IntDesigns/urls.py`](https://github.com/ericadevs/nyumbani-interiors/blob/main/IntDesigns/urls.py) (Site Routing), [`Contacts/views.py`](https://github.com/ericadevs/nyumbani-interiors/blob/main/Contacts/views.py) (Inquiry Views), [`IntDesigns/views.py`](https://github.com/ericadevs/nyumbani-interiors/blob/main/IntDesigns/views.py) (Studio Pages)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_public["Public Site"]
  node_site_routes["Site Routing<br/>[urls.py]"]
  node_site_pages["Studio Pages<br/>[views.py]"]
  node_site_templates["Studio Templates"]
end

subgraph group_portfolio["Project Portfolio"]
  node_portfolio_routes["Portfolio Routing<br/>[urls.py]"]
  node_portfolio_views["Portfolio Views<br/>[views.py]"]
  node_project_records[("Project Records<br/>[models.py]")]
  node_project_form["Project Form<br/>[forms.py]"]
  node_portfolio_templates["Portfolio Templates"]
end

subgraph group_inquiries["Client Inquiries"]
  node_contact_views["Inquiry Views<br/>[views.py]"]
  node_inquiry_forms["Inquiry Forms<br/>[forms.py]"]
  node_inquiry_records[("Inquiry Records<br/>[models.py]")]
  node_inquiry_templates["Inquiry Templates"]
end

subgraph group_admin["Administration"]
  node_dashboard_routes["Dashboard Routing<br/>[urls.py]"]
  node_dashboard_views["Dashboard Views<br/>[views.py]"]
  node_dashboard_forms["Dashboard Forms<br/>[forms.py]"]
  node_dashboard_templates["Dashboard Templates"]
  node_dashboard_user[("Dashboard User Model<br/>[models.py]")]
end

node_visitor(("Visitor"))

node_visitor -->|"requests pages"| node_site_routes
node_site_routes -->|"routes studio pages"| node_site_pages
node_site_routes -->|"routes inquiries"| node_contact_views
node_site_pages -->|"renders pages"| node_site_templates
node_site_pages -->|"reads latest projects"| node_project_records
node_visitor -->|"requests projects"| node_portfolio_routes
node_site_routes -->|"includes routes"| node_portfolio_routes
node_portfolio_routes -->|"routes project pages"| node_portfolio_views
node_portfolio_views -->|"reads projects"| node_project_records
node_portfolio_views -->|"renders galleries"| node_portfolio_templates
node_visitor -->|"submits inquiries"| node_contact_views
node_contact_views -->|"validates submissions"| node_inquiry_forms
node_inquiry_forms -->|"saves records"| node_inquiry_records
node_contact_views -->|"renders forms"| node_inquiry_templates
node_visitor -->|"requests dashboard"| node_dashboard_routes
node_site_routes -->|"includes dashboard"| node_dashboard_routes
node_dashboard_routes -->|"routes admin actions"| node_dashboard_views
node_dashboard_views -->|"manages projects"| node_project_records
node_dashboard_views -->|"reviews submissions"| node_inquiry_records
node_dashboard_views -->|"uses project form"| node_project_form
node_dashboard_views -->|"uses login form"| node_dashboard_forms
node_dashboard_views -->|"renders dashboard"| node_dashboard_templates

click node_site_routes "https://github.com/ericadevs/nyumbani-interiors/blob/main/IntDesigns/urls.py"
click node_site_pages "https://github.com/ericadevs/nyumbani-interiors/blob/main/IntDesigns/views.py"
click node_site_templates "https://github.com/ericadevs/nyumbani-interiors/tree/main/templates"
click node_portfolio_routes "https://github.com/ericadevs/nyumbani-interiors/blob/main/Portfolio/urls.py"
click node_portfolio_views "https://github.com/ericadevs/nyumbani-interiors/blob/main/Portfolio/views.py"
click node_project_records "https://github.com/ericadevs/nyumbani-interiors/blob/main/Portfolio/models.py"
click node_project_form "https://github.com/ericadevs/nyumbani-interiors/blob/main/Portfolio/forms.py"
click node_portfolio_templates "https://github.com/ericadevs/nyumbani-interiors/tree/main/Portfolio/templates/pages"
click node_contact_views "https://github.com/ericadevs/nyumbani-interiors/blob/main/Contacts/views.py"
click node_inquiry_forms "https://github.com/ericadevs/nyumbani-interiors/blob/main/Contacts/forms.py"
click node_inquiry_records "https://github.com/ericadevs/nyumbani-interiors/blob/main/Contacts/models.py"
click node_inquiry_templates "https://github.com/ericadevs/nyumbani-interiors/tree/main/Contacts/templates/pages"
click node_dashboard_routes "https://github.com/ericadevs/nyumbani-interiors/blob/main/Dashboard/urls.py"
click node_dashboard_views "https://github.com/ericadevs/nyumbani-interiors/blob/main/Dashboard/views.py"
click node_dashboard_forms "https://github.com/ericadevs/nyumbani-interiors/blob/main/Dashboard/forms.py"
click node_dashboard_templates "https://github.com/ericadevs/nyumbani-interiors/tree/main/Dashboard/templates/base"
click node_dashboard_user "https://github.com/ericadevs/nyumbani-interiors/blob/main/Dashboard/models.py"

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_site_routes,node_site_pages,node_site_templates toneBlue
class node_portfolio_routes,node_portfolio_views,node_project_records,node_project_form,node_portfolio_templates toneAmber
class node_contact_views,node_inquiry_forms,node_inquiry_records,node_inquiry_templates toneMint
class node_dashboard_routes,node_dashboard_views,node_dashboard_forms,node_dashboard_templates,node_dashboard_user toneRose
class node_visitor toneIndigo
```

## Components

### Public Site

- [Site Routing](https://github.com/ericadevs/nyumbani-interiors/blob/main/IntDesigns/urls.py): `IntDesigns/urls.py`
- [Studio Pages](https://github.com/ericadevs/nyumbani-interiors/blob/main/IntDesigns/views.py): `IntDesigns/views.py`
- [Studio Templates](https://github.com/ericadevs/nyumbani-interiors/tree/main/templates): `templates`

### Project Portfolio

- [Portfolio Routing](https://github.com/ericadevs/nyumbani-interiors/blob/main/Portfolio/urls.py): `Portfolio/urls.py`
- [Portfolio Views](https://github.com/ericadevs/nyumbani-interiors/blob/main/Portfolio/views.py): `Portfolio/views.py`
- [Project Records](https://github.com/ericadevs/nyumbani-interiors/blob/main/Portfolio/models.py): `Portfolio/models.py`
- [Project Form](https://github.com/ericadevs/nyumbani-interiors/blob/main/Portfolio/forms.py): `Portfolio/forms.py`
- [Portfolio Templates](https://github.com/ericadevs/nyumbani-interiors/tree/main/Portfolio/templates/pages): `Portfolio/templates/pages`

### Client Inquiries

- [Inquiry Views](https://github.com/ericadevs/nyumbani-interiors/blob/main/Contacts/views.py): `Contacts/views.py`
- [Inquiry Forms](https://github.com/ericadevs/nyumbani-interiors/blob/main/Contacts/forms.py): `Contacts/forms.py`
- [Inquiry Records](https://github.com/ericadevs/nyumbani-interiors/blob/main/Contacts/models.py): `Contacts/models.py`
- [Inquiry Templates](https://github.com/ericadevs/nyumbani-interiors/tree/main/Contacts/templates/pages): `Contacts/templates/pages`

### Administration

- [Dashboard Routing](https://github.com/ericadevs/nyumbani-interiors/blob/main/Dashboard/urls.py): `Dashboard/urls.py`
- [Dashboard Views](https://github.com/ericadevs/nyumbani-interiors/blob/main/Dashboard/views.py): `Dashboard/views.py`
- [Dashboard Forms](https://github.com/ericadevs/nyumbani-interiors/blob/main/Dashboard/forms.py): `Dashboard/forms.py`
- [Dashboard Templates](https://github.com/ericadevs/nyumbani-interiors/tree/main/Dashboard/templates/base): `Dashboard/templates/base`
- [Dashboard User Model](https://github.com/ericadevs/nyumbani-interiors/blob/main/Dashboard/models.py): `Dashboard/models.py`

### Other components

- **Visitor**

## Connections

- Visitor → Site Routing: requests pages (evidence: `IntDesigns/urls.py`)
- Site Routing → Studio Pages: routes studio pages (evidence: `IntDesigns/urls.py`)
- Site Routing → Inquiry Views: routes inquiries (evidence: `IntDesigns/urls.py`)
- Studio Pages → Studio Templates: renders pages (evidence: `IntDesigns/views.py`)
- Studio Pages → Project Records: reads latest projects (evidence: `IntDesigns/views.py`)
- Visitor → Portfolio Routing: requests projects (evidence: `Portfolio/urls.py`)
- Site Routing → Portfolio Routing: includes routes (evidence: `IntDesigns/urls.py`)
- Portfolio Routing → Portfolio Views: routes project pages (evidence: `Portfolio/urls.py`)
- Portfolio Views → Project Records: reads projects (evidence: `Portfolio/views.py`)
- Portfolio Views → Portfolio Templates: renders galleries (evidence: `Portfolio/views.py`)
- Visitor → Inquiry Views: submits inquiries (evidence: `Contacts/views.py`)
- Inquiry Views → Inquiry Forms: validates submissions (evidence: `Contacts/views.py`)
- Inquiry Forms → Inquiry Records: saves records (evidence: `Contacts/forms.py`)
- Inquiry Views → Inquiry Templates: renders forms (evidence: `Contacts/views.py`)
- Visitor → Dashboard Routing: requests dashboard (evidence: `Dashboard/urls.py`)
- Site Routing → Dashboard Routing: includes dashboard (evidence: `IntDesigns/urls.py`)
- Dashboard Routing → Dashboard Views: routes admin actions (evidence: `Dashboard/urls.py`)
- Dashboard Views → Project Records: manages projects (evidence: `Dashboard/views.py`)
- Dashboard Views → Inquiry Records: reviews submissions (evidence: `Dashboard/views.py`)
- Dashboard Views → Project Form: uses project form (evidence: `Dashboard/views.py`)
- Dashboard Views → Dashboard Forms: uses login form (evidence: `Dashboard/views.py`)
- Dashboard Views → Dashboard Templates: renders dashboard (evidence: `Dashboard/views.py`)
