A simple CRUD app in common lisp.
- Common Lisp 100%
|
|
||
|---|---|---|
| static | re-add boostrap | |
| app.lisp | fixme static path | |
| crap.asd | change email | |
| db.lisp | age optional | |
| html.lisp | query param redirets for edit/del agents too | |
| json.lisp | json: hack a no-agent error response | |
| package.lisp | add package exports | |
| pages.lisp | remove useless format call | |
| README.org | readme list features | |
crap - a crappy crud app
Using:
- spinneret (html gen in CL)
- ningle/clack/lack (micro web framework, routes)
- cl-sbt (bootstrap frontend bling)
- mito (ORM)
- SQLite (db)
features
- agent object: name, age, location, number of works
- work object: name, year (published), agent
- listing of agents, works
- new/update/delete agents, works
- sort work listings (via db query) by name, agent, year
- sort agent listings (via db query) by name, age, location, number of works
- detailed agent view: update/delete agent, and works listing with update/delete/new work
-
toy JSON API: GET api/agents/:id/
- return agent details plus details of all their works.
TODOS
- refactor to a cleaner backend/frontend design
- expand to a DB (> MITO) > CLOS model or similar
- implement a mini JSON REST API also (for learning)
- fork and turn into a simple PDF library
- auth
- htmx
source
This is just me trying to learn some mito/orm, using this: https://dev.to/rajasegar/mito-an-orm-for-common-lisp-1n8n.
License
GPLv3.