A web based decision aid to find a restaurant close by a given location.
In order to ease the life of developers and prevent that the local machine looks like a rubbish tip a Vagrantfile has beend added.
Using Vagrant to create a virtual development environment is quite simple by follow these steps:
- Install Virtual Box
- Install Vagrant
- Install Vagrant-Berkshelf Plugin
- Install Chef
The virtual environment setup are tested on the systems listed below. All packages are downloaded from the source and not installed via system package manager.
Operation System | Package |
---|---|
Ubuntu 12.04 LTS | virtualbox-4.3_4.3.0-89960 |
vagrant_1.3.5_x86_64.deb | |
chef_11.6.2-1.ubuntu.12.04_amd64.deb | |
Ubuntu 12.10 | virtualbox-4.3_4.3.2-90405 |
vagrant_1.3.5_x86_64.deb | |
chef_11.8.0-1.ubuntu.12.04_amd64.deb |
cd /tmp
git clone [email protected]:GeBeater/edinerguide.git
cd edinerguide
vagrant up
vagrant ssh
cd /vagrant
npm install
bower install
grunt server
The application should now be accessible from the guest machine with a browser via http://localhost:9000/. All changes on the application source code will be taken in soon without manual browser refreshing.
The application based on ember.js. The scaffold was created with YEOMAN using generator-ember v 0.7.1.
The application uses the foursquare API to search restaurants in a circuit of given coordinates. Latter are determined via Google Maps JavaScript API v3 which also used to provide a complete human-readable location. The HTML5 Geolocation API to detect the users location coming soon.
Codeship is used for continuous integration and deployment which execute the tests run and the creation of the build package via grunt the used as task runner. The creation of a tagged version is realised by a shell script which also uses GitHub Release API to archive the software. This script also deploy the software to a GitHub Page and sync the master branch with the current, deployed software.
Karma is used as a test runner which placed into the grunt task runner. QUnit is the testing framework for the unit as well as integration tests. Sinon.JS is used to create spies, stubs and mocks.
cd /tmp
git clone [email protected]:GeBeater/edinerguide.git
cd edinerguide
vagrant up
vagrant ssh
cd /vagrant
npm install
bower install
grunt test