How jan-vandenberg/cruddiy works
CRUDDIY is a browser-based PHP CRUD generator. The primary workflow configures a database, optionally manages its foreign-key relations, selects tables and columns, then generates a standalone application. Generated pages provide record creation, listing, reading, updating, and deletion; documented listing features include search, sorting, pagination, and CSV export. The graph also includes schema import and localization as distinct capabilities. Some generator internals are only partially sampled, so uncertain calls between those internals are omitted.
Main entry points: relations.php Relation manager · generate.php Generation coordinator · helpers.php Runtime helpers · index.php Generator entry
Components 20
Generator Setup
- Generator entry
core/index.php - Database configuration
core/templates/config.php - Relation manager
core/relations.php - Schema import
core/schema.php
Schema Selection
- Table selection
core/tables.php - Column selection
core/columns.php
App Generation
- Generation coordinator
core/generate.php - Template rendering
core/templates.php - CRUD page templates
core/templates - Generated app config
core/templates/config.php - Standalone generated app
Generated CRUD
- Runtime helpers
core/helpers.php - Searchable listing
core/templates/entity-index.php - Create record
core/templates/entity-create.php - Read record
core/templates/entity-read.php - Update record
core/templates/entity-update.php - Delete record
core/templates/entity-delete.php - Translations
core/locales
Other components
- Generator user
- MySQL database
Connections 32
- Generator user → Generator entry: configures
- Generator entry → Relation manager: continues setup
- Generator entry → Database configuration: uses template
- Relation manager → MySQL database: reads and alters relations
- Relation manager → Database configuration: writes config
- Relation manager → Schema import: offers import
- Relation manager → Table selection: continues selection
- Table selection → MySQL database: lists tables
- Table selection → Column selection: submits selection
- Column selection → MySQL database: reads columns
- Column selection → Generation coordinator: submits choices
- Generation coordinator → Template rendering: uses renderer
- Generation coordinator → CRUD page templates: reads templates
- Generation coordinator → Generated app config: generates config
- Generation coordinator → Standalone generated app: writes application
- Template rendering → Standalone generated app: renders pages
- Standalone generated app → Searchable listing: serves listing
- Standalone generated app → Create record: serves create
- Standalone generated app → Read record: serves record view
- Standalone generated app → Update record: serves update
- Standalone generated app → Delete record: serves deletion
- Searchable listing → MySQL database: queries records
- Create record → MySQL database: inserts records
- Read record → MySQL database: reads records
- Update record → MySQL database: updates records
- Delete record → MySQL database: deletes records
- Searchable listing → Runtime helpers: uses helpers
- Create record → Runtime helpers: uses helpers
- Read record → Runtime helpers: uses helpers
- Update record → Runtime helpers: uses helpers
- Delete record → Runtime helpers: uses helpers
- Standalone generated app → Translations: loads translations