How igbojionu/django_builder works
Django Builder lets users define Django projects, apps, models, fields, and relationships in a web UI or through a CLI, then generates a runnable Django project archive. The newer UI persists project structure through Firebase and reconstructs core domain objects for editing; the generator renders project files and packages them. The repository also contains an older web UI. The README documents CLI archive generation and optional HTMX/Channels capabilities; source excerpts establish only some internal links, so unsampled links are omitted.
Main entry points: rendering.ts File renderer · user.ts User and project state · ProjectsView.vue Project list · firebase.ts Firebase data API
Components 22
Project editor
- Project list
packages/djangobuilder4/src/views/ProjectsView.vue - Project editor
packages/djangobuilder4/src/components/ProjectBody.vue - Project tree
packages/djangobuilder4/src/components/ProjectTree.vue - Model editor
packages/djangobuilder4/src/components/ModelEditor.vue - User and project state
packages/djangobuilder4/src/stores/user.ts - Firebase data API
packages/djangobuilder4/src/firebase.ts
Legacy web UI
- Legacy routes
packages/djangobuilder.io/src/router.js - Legacy project UI
packages/djangobuilder.io/src/components/AppView.vue - Generated forms
packages/djangobuilder.io/src/components/forms/FormGenerator.vue
Project generator
- Django project model
lib/djangobuilder-core/src/api.ts - Generation API
lib/djangobuilder-core/src/api.ts - File renderer
lib/djangobuilder-core/src/rendering.ts - Tar archive
lib/djangobuilder-core/src/tar.ts - Command-line interface
lib/djangobuilder-core/src/cli.ts
Generated Django
- Django project config
lib/djangobuilder-core/src/django/python/settings.ts - Generated app modules
lib/djangobuilder-core/src/django/python/app - Generated templates
lib/djangobuilder-core/src/django/templates - HTMX support
lib/djangobuilder-core/src/django/python/app/htmx.ts - Channels routing
lib/djangobuilder-core/src/django/python/routing.ts
Other components
- Project author
- Firebase Firestore
- Firebase Auth
Connections 21
- Project author → Project list: creates projects
packages/djangobuilder4/src/views/ProjectsView.vue - Project list → User and project state: reads projects
packages/djangobuilder4/src/views/ProjectsView.vue - Project list → Firebase data API: creates project
packages/djangobuilder4/src/views/ProjectsView.vue - Project editor → Project tree: uses tree
packages/djangobuilder4/src/components/ProjectBody.vue - Project editor → User and project state: uses state
packages/djangobuilder4/src/components/ProjectBody.vue - User and project state → Firebase data API: fetches and mutates
packages/djangobuilder4/src/stores/user.ts - Firebase data API → Firebase Firestore: reads and writes
packages/djangobuilder4/src/firebase.ts - User and project state → Django project model: builds core objects
packages/djangobuilder4/src/stores/user.ts - Project author → Legacy routes: navigates
packages/djangobuilder.io/src/router.js - Legacy routes → Legacy project UI: routes to
packages/djangobuilder.io/src/router.js - Legacy project UI → Generated forms: uses form generator
packages/djangobuilder.io/src/components/forms/FormGenerator.vue - Project author → Command-line interface: runs generator
- Command-line interface → Generation API: generates project
- Generation API → Django project model: uses project definitions
lib/djangobuilder-core/src/api.ts - File renderer → Django project config: renders template
lib/djangobuilder-core/src/rendering.ts - File renderer → Generated app modules: renders app files
lib/djangobuilder-core/src/rendering.ts - File renderer → Generated templates: renders templates
lib/djangobuilder-core/src/rendering.ts - File renderer → Tar archive: adds files
lib/djangobuilder-core/src/rendering.ts - File renderer → HTMX support: renders optional files
lib/djangobuilder-core/src/rendering.ts - File renderer → Channels routing: renders routing
lib/djangobuilder-core/src/rendering.ts - HTMX support → Generated templates: uses templates