# bradlannon/bandedstilts architecture

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

- Interactive diagram: https://gitdiagram.com/bradlannon/bandedstilts
- Repository: https://github.com/bradlannon/bandedstilts

## Overview

This repository is a Django website with content areas for pages, blog posts, gigs, music, reviews, and galleries, plus supporting media and AJAX packages. The README documents environment-configured database access and S3 static-file hosting, and deployment on Heroku. The tree identifies app views and models, but their implementations and URL wiring were not sampled, so those relationships are not asserted here.

Main entry points: [`djangoproject/settings.py`](https://github.com/bradlannon/bandedstilts/blob/master/djangoproject/settings.py) (Django settings), [`djangoproject/urls.py`](https://github.com/bradlannon/bandedstilts/blob/master/djangoproject/urls.py) (Django URLs)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_content["Site Content"]
  node_pages["Pages<br/>[views.py]"]
  node_page_data[("Page records<br/>[models.py]")]
  node_blog["Blog<br/>[views.py]"]
  node_blog_data[("Blog records<br/>[models.py]")]
  node_gigs["Gigs<br/>[views.py]"]
  node_gig_data[("Gig records<br/>[models.py]")]
  node_music["Music<br/>[views.py]"]
  node_music_data[("Music records<br/>[models.py]")]
  node_reviews["Reviews<br/>[views.py]"]
  node_review_data[("Review records<br/>[models.py]")]
end

subgraph group_media["Media Features"]
  node_gallery["Gallery<br/>[views.py]"]
  node_gallery_data[("Gallery records<br/>[models.py]")]
  node_photologue["Photo management<br/>[models.py]"]
  node_video["Video embeds"]
end

subgraph group_ajax["AJAX Support"]
  node_dajaxice["AJAX endpoints<br/>[views.py]"]
  node_dajaxice_core["AJAX discovery<br/>[Dajaxice.py]"]
  node_dajax["AJAX responses<br/>[core.py]"]
end

subgraph group_runtime["Runtime Services"]
  node_urls["Django URLs<br/>[urls.py]"]
  node_settings["Django settings<br/>[settings.py]"]
  node_database[("Configured database")]
  node_heroku["Heroku"]
  node_s3[("Amazon S3")]
end

node_visitor(("Website visitor"))

node_visitor -->|"requests pages"| node_urls
node_settings -->|"configures connection"| node_database
node_settings -.->|"configures static storage"| node_s3
node_heroku -->|"hosts website"| node_urls

click node_urls "https://github.com/bradlannon/bandedstilts/blob/master/djangoproject/urls.py"
click node_settings "https://github.com/bradlannon/bandedstilts/blob/master/djangoproject/settings.py"
click node_pages "https://github.com/bradlannon/bandedstilts/blob/master/pages/views.py"
click node_page_data "https://github.com/bradlannon/bandedstilts/blob/master/pages/models.py"
click node_blog "https://github.com/bradlannon/bandedstilts/blob/master/blog/views.py"
click node_blog_data "https://github.com/bradlannon/bandedstilts/blob/master/blog/models.py"
click node_gigs "https://github.com/bradlannon/bandedstilts/blob/master/gigs/views.py"
click node_gig_data "https://github.com/bradlannon/bandedstilts/blob/master/gigs/models.py"
click node_music "https://github.com/bradlannon/bandedstilts/blob/master/music/views.py"
click node_music_data "https://github.com/bradlannon/bandedstilts/blob/master/music/models.py"
click node_reviews "https://github.com/bradlannon/bandedstilts/blob/master/reviews/views.py"
click node_review_data "https://github.com/bradlannon/bandedstilts/blob/master/reviews/models.py"
click node_gallery "https://github.com/bradlannon/bandedstilts/blob/master/gallery/views.py"
click node_gallery_data "https://github.com/bradlannon/bandedstilts/blob/master/gallery/models.py"
click node_photologue "https://github.com/bradlannon/bandedstilts/blob/master/photologue/models.py"
click node_video "https://github.com/bradlannon/bandedstilts/blob/master/embed_video/templatetags/embed_video_tags.py"
click node_dajaxice "https://github.com/bradlannon/bandedstilts/blob/master/dajaxice/views.py"
click node_dajaxice_core "https://github.com/bradlannon/bandedstilts/blob/master/dajaxice/core/Dajaxice.py"
click node_dajax "https://github.com/bradlannon/bandedstilts/blob/master/dajax/core.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_pages,node_page_data,node_blog,node_blog_data,node_gigs,node_gig_data,node_music,node_music_data,node_reviews,node_review_data toneBlue
class node_gallery,node_gallery_data,node_photologue,node_video toneAmber
class node_dajaxice,node_dajaxice_core,node_dajax toneMint
class node_urls,node_settings,node_database,node_heroku,node_s3 toneRose
class node_visitor toneIndigo
```

## Components

### Site Content

- [Pages](https://github.com/bradlannon/bandedstilts/blob/master/pages/views.py): `pages/views.py`
- [Page records](https://github.com/bradlannon/bandedstilts/blob/master/pages/models.py): `pages/models.py`
- [Blog](https://github.com/bradlannon/bandedstilts/blob/master/blog/views.py): `blog/views.py`
- [Blog records](https://github.com/bradlannon/bandedstilts/blob/master/blog/models.py): `blog/models.py`
- [Gigs](https://github.com/bradlannon/bandedstilts/blob/master/gigs/views.py): `gigs/views.py`
- [Gig records](https://github.com/bradlannon/bandedstilts/blob/master/gigs/models.py): `gigs/models.py`
- [Music](https://github.com/bradlannon/bandedstilts/blob/master/music/views.py): `music/views.py`
- [Music records](https://github.com/bradlannon/bandedstilts/blob/master/music/models.py): `music/models.py`
- [Reviews](https://github.com/bradlannon/bandedstilts/blob/master/reviews/views.py): `reviews/views.py`
- [Review records](https://github.com/bradlannon/bandedstilts/blob/master/reviews/models.py): `reviews/models.py`

### Media Features

- [Gallery](https://github.com/bradlannon/bandedstilts/blob/master/gallery/views.py): `gallery/views.py`
- [Gallery records](https://github.com/bradlannon/bandedstilts/blob/master/gallery/models.py): `gallery/models.py`
- [Photo management](https://github.com/bradlannon/bandedstilts/blob/master/photologue/models.py): `photologue/models.py`
- [Video embeds](https://github.com/bradlannon/bandedstilts/blob/master/embed_video/templatetags/embed_video_tags.py): `embed_video/templatetags/embed_video_tags.py`

### AJAX Support

- [AJAX endpoints](https://github.com/bradlannon/bandedstilts/blob/master/dajaxice/views.py): `dajaxice/views.py`
- [AJAX discovery](https://github.com/bradlannon/bandedstilts/blob/master/dajaxice/core/Dajaxice.py): `dajaxice/core/Dajaxice.py`
- [AJAX responses](https://github.com/bradlannon/bandedstilts/blob/master/dajax/core.py): `dajax/core.py`

### Runtime Services

- [Django URLs](https://github.com/bradlannon/bandedstilts/blob/master/djangoproject/urls.py): `djangoproject/urls.py`
- [Django settings](https://github.com/bradlannon/bandedstilts/blob/master/djangoproject/settings.py): `djangoproject/settings.py`
- **Configured database**
- **Heroku**
- **Amazon S3**

### Other components

- **Website visitor**

## Connections

- Website visitor → Django URLs: requests pages
- Django settings → Configured database: configures connection
- Django settings → Amazon S3: configures static storage
- Heroku → Django URLs: hosts website
