HN Show: ConcussionJS, an experimental, rapid web dev platform
Six steps to test ConcussionJS for yourself: 1) Create your HTML markup 2) Include the ConcussionJS JavaScript library (http://www.concussionjs.com/concussion.js) 3) Add additional ConcussionJS HTML attributes to your markup (Built on KnockoutJS syntax; example at https://github.com/concussionjs/concussionjs-core) 4) Load your HTML file in a browser (Chrome and Safari tested) 5) Go to admin console add some records 6) Re-load your HTML file
Voila -- you now have a dynamic, database backed website. No custom client-side script required, no server-side coding or hosting, and you can try ConcussionJS on an HTML file located anywhere, even running off the file system directly (e.g., file(s) could reside on your desktop sans web server).
ConcussionJS can be used both as a cloud platform or run locally. Find more deployment option details at https://github.com/concussionjs/concussionjs-core
Tutorial: http://www.concussionjs.com
Example Applications: + http://samples.concussionjs.com/contacts.html + http://samples.concussionjs.com/twitter-bootstrap/blog/ + http://samples.concussionjs.com/foundation/timesheet/
ConcussionJS JavaScript library: http://www.concussionjs.com/concussion.js
ConcussionJS mission description: http://www.concussionjs.com/#about
Github page: https://github.com/concussionjs/concussionjs-core
I'm looking for feedback and would welcome ConcussionJS collaborators!!
14 comments
[ 2.2 ms ] story [ 38.2 ms ] threadhttp://www.concussionjs.com
It was also a bit annoying (to me) that at the beginning of installing from source it seemed possible to install somewhere other than $HOME but the install.sh scripts had so many references to $HOME I decided it wasnt worth changing them all.
RE the built in dependencies to the $HOME directory, I agree that it's a weakness of the install scripts. I'll add this as an issue at https://github.com/concussionjs/concussionjs-core/issues.
BTW, there is a command-line tool that I've yet to document that you might find handy. It supports:
$ cjs app --create YOUR_APP_NAME $ cjs app --start YOUR_APP_NAME $ cjs app --stop YOUR_APP_NAME $ cjs app --restart YOUR_APP_NAME
You can see the documentation by typing: $ cjs
--create also supports a --template argument (e.g., cjs app --create YOUR_APP_NAME --template YOUR_TEMPLATE_NAME) which copies the contents of the specified folder with the matching name in concussionjs-core/app_template.
Behind the scenes the command line uses a cool util called mon (https://github.com/visionmedia/mon), a super lightweight version of Monit, to keep the nodejs process running for the app specified (e.g., monitoring the process and restarting as necessary).
I'd suggest to implement an abstraction allow implementation of more flexible models by using: http://en.wikipedia.org/wiki/Domain-driven_design