Dashboard for Github projects using Conductor.js and Oasis.js.
For the proxy:
npm install -g grunt-cli
For the Glazier server:
git clone git://github.com/yapplabs/glazier
cd glazier
git submodule update --init
There are two components to set up: the Glazier proxy and the back-end rails server (Glazier server).
Glazier server is a submodule. The project is here
Create a Github app for your Glazier app at http://github.com/settings/applications/new
In the form enter:
Application Name: anything you like (e.g. "glazier-dev")
Main URL: http://localhost:8000
Callback URL: http://localhost:8000/api/oauth/github/callback
When you submit the form you will get a client id and client secret. Set the following environment variables:
GLAZIER_GITHUB_CLIENT_ID=<git client id>
GLAZIER_GITHUB_CLIENT_SECRET=<git client secret>
#these are needed in the windows running both the proxy and the server
cd glazier-server
bundle install
rake db:create
rake db:migrate
# from the top glazier directory
npm install
# from the top glazier directory
grunt cloneCards
ls -al ./cards/ # to see where the symlinks point
# navigate to the top glazier directory
# make sure client id and client secret are set in this window
bundle install
grunt //interrupt this task when it reaches the Waiting state
grunt ingest
grunt ingestCards
grunt
grunt server //from the top glazier directory
http://localhost:8000/
Glazier uses npm shrinkwrapping to prevent
dependency version problems. If you add or change dependencies in the package.json
files (either container or cards), make sure to run npm shrinkwrap
in the appropriate
place.
Start the grunt server with grunt
, then visit:
http://localhost:8000/test/index.html
QUnit tests that are able to be run in Phantom (see #1)
will run as you make changes or you can run them with grunt qunit:all
glazier-server uses RSpec for unit tests. To run them:
bundle exec rake
To automatically execute glazier-server specs as you update code and specs:
bundle exec guard
grunt cloneCards
clones and symlinks the following repositories into the glazier/cards
folder:
- github-issue
- github-issues
- github-people
- github-repositories
- github-stars
- stackoverflow-auth
- stackoverflow-questions
- markdown-editor
- travis-build
500 Internal Server Error
If this occurs immediately after you update the project, its possible the database structure has changed and you haven't migrated. Run:
#in glazier/glazier-server directory
rake db:migrate
NPM, Grunt Errors
If you're using Glazier for the first time and get errors running npm install
, make sure
your version of npm is current. Outdated versions will give errors such as telling you npm
can't find a certain module which it subsequently lists as installed (nice!).
If grunt commands just won't run, sometimes its because node modules have gotten out of
sync. Try deleting the /node_modules
subdirectory and re-running npm install