# safronov-vlad/needsomedata architecture

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

- Interactive diagram: https://gitdiagram.com/safronov-vlad/needsomedata
- Repository: https://github.com/safronov-vlad/needsomedata

## Overview

This repository combines a Django urban-services site with DjEYM, a Yandex Maps editor and map-rendering app. The user-facing flow shown in sampled source is login/session selection, then a user area displaying collection codes or resident-linked summaries; users can also open a map and request current weather. Separately, DjEYM provides map configuration, interactive editing, and public map rendering. The README is empty, and several routes and backend implementations were not sampled, so those connections are kept conservative.

Main entry points: [`main/views.py`](https://github.com/safronov-vlad/needsomedata/blob/master/main/views.py) (Site views), [`djeym/views.py`](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/views.py) (Map endpoints), [`djeym/models.py`](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/models.py) (Map models), [`djeym/templatetags/djeymtags.py`](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/templatetags/djeymtags.py) (Map template tags)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_urban["Urban services"]
  node_mainroutes["Site routes<br/>[urls.py]"]
  node_siteviews["Site views<br/>[views.py]"]
  node_userrecords[("User records<br/>[models.py]")]
  node_userarea["User area"]
end

subgraph group_maps["Map platform"]
  node_mapeditor["Map editor<br/>[ymeditor.js]"]
  node_mapfrontend["Map frontend<br/>[ymfront.js]"]
  node_mapviews["Map endpoints<br/>[views.py]"]
  node_maptags["Map template tags<br/>[djeymtags.py]"]
  node_mapurls["Map routes<br/>[urls.py]"]
  node_mapadmin["Map administration<br/>[admin.py]"]
  node_mapforms["Map forms<br/>[forms.py]"]
  node_geocoder["Geocoder widget<br/>[geocoder.js]"]
end

subgraph group_mapdata["Map domain data"]
  node_mapmodels[("Map models<br/>[models.py]")]
  node_mapstore["Map configuration<br/>[raw_presets.py]"]
end

node_visitor(("Site visitor"))
node_weather["GisMeteo API"]
node_mapservice["Yandex Maps"]
node_django["Django project<br/>[urls.py]"]

node_visitor -->|"requests"| node_mainroutes
node_mainroutes -->|"dispatches"| node_siteviews
node_siteviews -->|"queries"| node_userrecords
node_siteviews -->|"renders"| node_userarea
node_visitor -->|"map requests"| node_siteviews
node_siteviews -.->|"requests weather"| node_weather
node_django -->|"routes"| node_mainroutes
node_django -->|"routes"| node_mapurls
node_mapadmin -->|"manages"| node_mapmodels
node_mapforms -->|"validates"| node_mapmodels
node_maptags -->|"queries"| node_mapmodels
node_maptags -->|"reads presets"| node_mapstore
node_mapurls -->|"dispatches"| node_mapviews
node_mapeditor -->|"requests content"| node_mapviews
node_mapfrontend -->|"fetches balloons"| node_mapviews
node_mapviews -->|"queries"| node_mapmodels
node_maptags -->|"provides API setup"| node_mapservice
node_mapfrontend -->|"renders map"| node_mapservice
node_mapeditor -->|"edits geometry"| node_mapservice
node_geocoder -->|"geocodes"| node_mapservice

click node_mainroutes "https://github.com/safronov-vlad/needsomedata/blob/master/main/urls.py"
click node_siteviews "https://github.com/safronov-vlad/needsomedata/blob/master/main/views.py"
click node_userrecords "https://github.com/safronov-vlad/needsomedata/blob/master/main/models.py"
click node_mapeditor "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/static/djeym/js/ymeditor.js"
click node_mapfrontend "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/static/djeym/js/ymfront.js"
click node_mapviews "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/views.py"
click node_maptags "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/templatetags/djeymtags.py"
click node_mapurls "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/urls.py"
click node_mapadmin "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/admin.py"
click node_mapforms "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/forms.py"
click node_mapmodels "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/models.py"
click node_mapstore "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/raw_presets.py"
click node_geocoder "https://github.com/safronov-vlad/needsomedata/blob/master/djeym/static/djeym/js/geocoder.js"
click node_django "https://github.com/safronov-vlad/needsomedata/blob/master/urban/urls.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_mainroutes,node_siteviews,node_userrecords,node_userarea toneBlue
class node_mapeditor,node_mapfrontend,node_mapviews,node_maptags,node_mapurls,node_mapadmin,node_mapforms,node_geocoder toneAmber
class node_mapmodels,node_mapstore,node_weather toneMint
class node_visitor,node_mapservice toneIndigo
class node_django toneTeal
```

## Components

### Urban services

- [Site routes](https://github.com/safronov-vlad/needsomedata/blob/master/main/urls.py): `main/urls.py`
- [Site views](https://github.com/safronov-vlad/needsomedata/blob/master/main/views.py): `main/views.py`
- [User records](https://github.com/safronov-vlad/needsomedata/blob/master/main/models.py): `main/models.py`
- **User area**

### Map platform

- [Map editor](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/static/djeym/js/ymeditor.js): `djeym/static/djeym/js/ymeditor.js`
- [Map frontend](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/static/djeym/js/ymfront.js): `djeym/static/djeym/js/ymfront.js`
- [Map endpoints](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/views.py): `djeym/views.py`
- [Map template tags](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/templatetags/djeymtags.py): `djeym/templatetags/djeymtags.py`
- [Map routes](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/urls.py): `djeym/urls.py`
- [Map administration](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/admin.py): `djeym/admin.py`
- [Map forms](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/forms.py): `djeym/forms.py`
- [Geocoder widget](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/static/djeym/js/geocoder.js): `djeym/static/djeym/js/geocoder.js`

### Map domain data

- [Map models](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/models.py): `djeym/models.py`
- [Map configuration](https://github.com/safronov-vlad/needsomedata/blob/master/djeym/raw_presets.py): `djeym/raw_presets.py`

### Other components

- **Site visitor**
- **GisMeteo API**
- **Yandex Maps**
- [Django project](https://github.com/safronov-vlad/needsomedata/blob/master/urban/urls.py): `urban/urls.py`

## Connections

- Site visitor → Site routes: requests
- Site routes → Site views: dispatches
- Site views → User records: queries
- Site views → User area: renders
- Site visitor → Site views: map requests
- Site views → GisMeteo API: requests weather
- Django project → Site routes: routes
- Django project → Map routes: routes
- Map administration → Map models: manages
- Map forms → Map models: validates
- Map template tags → Map models: queries
- Map template tags → Map configuration: reads presets
- Map routes → Map endpoints: dispatches
- Map editor → Map endpoints: requests content
- Map frontend → Map endpoints: fetches balloons
- Map endpoints → Map models: queries
- Map template tags → Yandex Maps: provides API setup
- Map frontend → Yandex Maps: renders map
- Map editor → Yandex Maps: edits geometry
- Geocoder widget → Yandex Maps: geocodes
