This is a demo app written for the talk Grails for Hipsters at Groovy & Grails Exchange 2012 and Gr8Conf US 2013. It is a simple Instagram-like photo sharing app.
The slides for the talk can be found on SlideShare and the video is available via SkillsMatter.
filter
contains a vert.x application that does image processing.hipsteroid
contains a Grails application that controls workflow.
- Grails 2.2.3
- Vert.x 1.3.1
- MongoDB
- ImageMagick (you may have this already - try running
convert
in a terminal)
Some way to compile…
To run the Grunt build you need to first run npm install
(just once) to pull in the various Grunt plugins. Then you can execute:
grunt
To compile CoffeeScript, LESS & Handlebars. Or:
grunt watch
To monitor for changes in those resources and automatically compile them if they change.
Grails will automatically run grunt when it's compiled
To install the command line tools:
npm install -g coffee-script
gem install compass
npm install -g handlebars
Then use the following commands to compile the resources:
coffee -c web-app/app
lessc web-app/app/hipsteroid.less > web-app/app/hipsteroid.css
handlebars web-app/app/templates/ -f web-app/app/templates.js
You need to run 3 things simultaneously. I just use 3 terminal tabs.
cd filter
./gradlew build runMod
cd hipsteroid
grails run-app
mongod
Unit tests are standard Grails / Spock tests. Javascript tests use Testem (npm install -g testem
), End-to-end tests use Casper JS (brew install casperjs
on a Mac or download from site).
cd hipsteroid
testem
Then just point a browser (or multiple browsers) at http://localhost:7357/
.
cd hipsteroid
testem ci
The app must be running before you do this.
cd hipsteroid
casperjs test test/end-to-end/