How andypedozz/lightmodel works
LightModel is a headless CMS with a React management interface and Express API. The main workflow is to define entities and fields, expose slug-based record endpoints, and create or manage content records in SQLite; the UI also presents media and other administration areas. The graph reflects calls and database access visible in sampled code. The media route excerpt is partial, and some frontend features are incomplete or simulated, so uncertain wiring is omitted.
Main entry points: db.js Knex database · server.js Express server · entityManagementRoutes.js Entity management · mediaManagementRoutes.js Media management
Components 14
CMS management
- Express server
backend/src/server.js - Entity management
backend/src/entities/entityManagementRoutes.js - Media management
backend/src/media/mediaManagementRoutes.js
Content API
- Dynamic record routes
backend/src/entities/entityRoutes.js - Record service
backend/src/services/recordService.js - Field validation
backend/src/validation/fieldValidator.js
Persistence
- Knex database
backend/src/db/db.js - SQLite data
backend/src/db/db.sqlite - Media files
backend/src/media/mediaManagementRoutes.js
Admin client
- CMS interface
frontend/src/components/CMSHeadless.jsx - API client
frontend/src/services/api.js
Other components
- CMS operator
- Browser user
- API consumers
Connections 15
- Browser user → CMS interface: uses
- CMS interface → API client: requests
- API client → Express server: HTTP calls
- API consumers → Express server: HTTP calls
- Express server → Entity management: registers routes
- Express server → Media management: registers routes
- Express server → Dynamic record routes: registers routes
- Entity management → Knex database: queries
- Entity management → Dynamic record routes: registers entity routes
- Dynamic record routes → Knex database: queries
- Record service → Knex database: queries
- Field validation → Knex database: checks fields
- Media management → Knex database: queries
- Media management → Media files: stores files
- Knex database → SQLite data: reads and writes