Clojure web admin (CWA) is a clojure(script)-based, metadata-driven web admin system providing some generic features in web admin system.
The core features are as follows:
- RESTful api&doc based on Computer-api&swagger
- CRUD with data-level permissions based on korma
- Menu tree&toolbar with button-level permissions based on reagent & re-frame
- High-level abstract field types based on reagent-forms (e.g. image, attachment, enum, select, etc.)
- Font-end&back-end validation based on bouncer
Other features:
- Login/Logout
- Optimistic lock for updating data
- Default value showing in forms
- Export as excel file & import from excel file
- Bar chart for datagrid based on CanvasJs
More features are coming up..
This project already has some build-in moduals including ‘User’, ‘Role’, ‘Organization’, which can be used as common moduals in your new project. ‘Computer’ and ‘Brand’ moduals are only for demostration.
Let`s get start!
- Clone the project
git clone https://github.com/b1412/clojure-web-admin.git
cd clojure-web-admin
- Execute SQL script in MySql
mysql -uroot -proot mysql> source db/demo.sql;
- Start project
Open a terminal and type lein repl to start a Clojure REPL (interactive prompt).
In the REPL, type
(start-server)
(browser-repl)
- Visit http://localhost:3000 and log in as admin
username: admin
password: admin
- Go demo in details to see snapshots and descriptions of core features in demo moduals before you play it.
Go wiki to go deeper into the project.
Copyright © 2015 Leon Zhou
Distributed under the Eclipse Public License, the same as Clojure.