Quill is an open platform for providing interactive grammar lessons.
Quill is built and maintained by a core team and volunteers. If you have ideas on how to improve Quill, or just want to help, please join us!
- Check our Github issue queue for ideas on how to help.
- Make sure your code follows Ruby and project conventions.
- Make sure you don't have any IDE / platform specific files committed. i.e.
.DS_Store
,.idea
,.project
(consider adding these to a global gitignore). - Before commiting, run
rake
, make sure all tests pass. - Introduce changes with pull requests.
Read our guide to contributing for more information.
A good place to start is by setting up and running Quill on your local machine or by using a Vagrant virtual machine.
If you are having any trouble installing, please post your questions here.
Note: Unless stated otherwise, all commands assume that your current working directory is the Quill application root.
-
Setup ruby 1.9.3. You can use RVM or rbenv to achieve this, rbenv is recommended (https://github.com/sstephenson/rbenv). Here are the steps for installing os OS X:
Install homebrew (if you haven't already): http://brew.sh/
Install rbenv:
brew update brew install rbenv ruby-build
Install ruby:
rbenv install 1.9.3-p484
Set it to your default ruby:
rbenv local 1.9.3-p484
-
Install dependencies.
bundle install
Note: This may require you to install missing system packages using your system package handler (
brew
,apt
,yum
, etc.). -
Set up your database configuration by creating and editing the file
config/database.yml
with appropriate connection information. Example information is provided below.development: host: localhost adapter: postgresql encoding: unicode database: <database_name> pool: 5 username: my_name password: my_pass
-
Build the database structure.
sudo service postgres start # may change depending on your OS rake db:create rake db:schema:load
-
Seed data into the database.
rake db:seed
If you are granted access to a Heroku environment, you can also capture a database directly from that. Instructions below are for example only.
heroku pg:capture --app <app> curl -o ~/latest.dump $(heroku pgbackups:url --app <app>) pg_restore --verbose --clean --no-acl --no-owner -h localhost -U <your_db_user> -d <database_name> ~/latest.dump
Note:
<app>
is the name of the Quill deployment on Heroku you want to retrieve data from. -
Ensure the following parameters are in your environment:
JRUBY_OPTS=--1.9 APP_SECRET=your-secret-key HOMEPAGE_CHAPTER_ID=1
Setting these up varies on your platform. You can
export
them in your bash config (not recommended) or use a config file provided by either RVM (.ruby-env) or rbenv (.rbenv-vars). Please refer to their respective documentations if you need more information. -
Start the app, make sure it works.
rails server curl localhost:3000
user = User.first
user.refresh_token!
token = user.token
$ ab -H "Authorization: Basic `echo TOKEN_GOES_HERE: | base64`==" -n 5 -c 1 http://www.quill.org/profile
Find us on IRC at #quill!