How lawebcapsule/d9 works
d9 combines a Vue-based no-code Data Studio with a Node.js API for managing data in SQL databases. A typical workflow starts when a user works in the Studio; its client requests server metadata and authentication options, then uses the API’s REST or GraphQL surface to manage records and platform configuration. The API also supports files, extensibility, and event-driven flows. The README documents multi-database support, while the tree shows database and storage layers; sampled excerpts do not establish every service-to-driver call, so those links are omitted.
Main entry points: app.ts HTTP application · api.ts API client · app.vue Studio shell · server.ts Server state
Components 19
Data Studio
- Studio shell
app/src/app.vue - Server state
app/src/stores/server.ts - API client
app/src/api.ts - GraphQL query builder
app/src/utils/query-to-gql-string.ts
API
- HTTP application
api/src/app.ts - Server routes
api/src/controllers/server.ts - GraphQL routes
api/src/controllers/graphql.ts
Identity
- Authentication routes
api/src/controllers/auth.ts - Auth providers
api/src/auth/drivers/index.ts
Data and Files
- Data routes
api/src/controllers/items.ts - Data services
api/src/services/items.ts - SQL database
api/src/database/index.ts - File routes
api/src/controllers/files.ts - File services
api/src/services/files.ts - Storage drivers
api/src/storage/get-storage-driver.ts
Platform Features
- Extension manager
api/src/extensions.ts - Flow manager
api/src/flows.ts
Other components
- Studio user
- Identity providers
Connections 18
- Studio user → Studio shell: uses
- Studio shell → Server state: reads state
- Server state → API client: requests metadata
- API client → HTTP application: sends requests
- HTTP application → Server routes: dispatches
- Server routes → HTTP application: returns response
- HTTP application → Authentication routes: dispatches
- HTTP application → Data routes: dispatches
- Data routes → Data services: handles requests
- HTTP application → File routes: dispatches
- File routes → File services: handles requests
- File services → Storage drivers: uses drivers
- HTTP application → Auth providers: registers providers
- Auth providers → Identity providers: authenticates
- HTTP application → Extension manager: initializes
- HTTP application → Flow manager: initializes
- HTTP application → GraphQL routes: dispatches
- API client → GraphQL query builder: builds queries