Yeoman generator for AngularJS + Caveman2
MIT License
A Yeoman generator for AngularJS and Caveman2.
Caveman2 is a Common Lisp-based micro-framework. For AngularJS integration with other micro-frameworks, see https://github.com/rayokota/MicroFrameworkRosettaStone.
Install Git, node.js, a Common Lisp implementation (such as SBCL), QuickLisp and Shelly. When choosing the Postmodern ORM, also install PostgreSQL.
Install Yeoman:
npm install -g yo
Install the Angular-Caveman2 generator:
npm install -g generator-angular-caveman2
The above prerequisites can be installed to a VM using the Angular-Caveman2 provisioner.
In a new directory, generate the service:
yo angular-caveman2
If you chose to use the Postmodern ORM, create a user and database in PostgreSQL as specified in the file src/config.lisp
.
Run the service:
APP_ENV=development shly -Lclack clackup app.lisp --port 8080
Your service will run at http://localhost:8080.
Generate the entity:
yo angular-caveman2:entity [myentity]
You will be asked to specify attributes for the entity, where each attribute has the following:
Files that are regenerated will appear as conflicts. Allow the generator to overwrite these files as long as no custom changes have been made.
Run the service:
APP_ENV=development shly -Lclack clackup app.lisp --port 8080
A client-side AngularJS application will now be available by running
grunt server
The Grunt server will run at http://localhost:9000. It will proxy REST requests to the Caveman2 service running at http://localhost:8080.
At this point you should be able to navigate to a page to manage your persistent entities.
The Grunt server supports hot reloading of client-side HTML/CSS/Javascript file changes.