39 lines
1.2 KiB
Markdown
39 lines
1.2 KiB
Markdown
# Graphgen
|
|
|
|
Interactive database schema visualization. Supabase-style graph of your data model, rendered in the browser.
|
|
|
|
**Status:** planned
|
|
|
|
---
|
|
|
|
## What It Will Do
|
|
|
|
Graphgen will take a schema definition and render it as an interactive, navigable graph. Tables as nodes, relationships as edges. Click to explore, zoom to navigate.
|
|
|
|
Think Supabase's schema visualizer, but fed by soleprint's modelgen extractors and rendered with soleprint-ui's GraphRenderer.
|
|
|
|
## Architecture
|
|
|
|
```
|
|
Extract (modelgen) ──► Serve (station API) ──► Render (GraphRenderer)
|
|
```
|
|
|
|
**Extract** -- modelgen extractors read the codebase (Django, SQLAlchemy, Prisma) and produce a normalized schema.
|
|
|
|
**Serve** -- station exposes the schema as a JSON API endpoint.
|
|
|
|
**Render** -- GraphRenderer (Vue Flow) draws the interactive graph in the browser.
|
|
|
|
## Dependencies
|
|
|
|
- **modelgen extractors** -- must be functional before graphgen can extract schemas
|
|
- **soleprint-ui GraphRenderer** -- Vue Flow-based component for rendering
|
|
|
|
Graphgen depends on modelgen extractors being complete. That is the blocking dependency.
|
|
|
|
## Location
|
|
|
|
```
|
|
soleprint/station/tools/graphgen/ # Core (not yet built)
|
|
```
|