Welcome to Quill!
Quill is an open platform for providing interactive grammar lessons.
Contributing
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.
Building
A good place to start is by setting up and running Quill on your local 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.
-
Set up an RVM environment.
Note: You do not have to do this, but can be helpful if you work with multiple Ruby projects. See the RVM home page for more details.
rvm install 1.9.3 rvm gemset create quill echo "1.9.3" >> .ruby-version echo "quill" >> .ruby-gemset
-
Install dependencies.
bundle install
Note: This may require you to install missing system packages using your system package handler (
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. -
Create a
.ruby-env
file in the project root and define necessary environment values.echo "RAILS_ENV=development APP_SECRET=your-secret-key HOMEPAGE_CHAPTER_ID=1" >> ./.ruby-env
Note: You may need to cd out and back into the app root for these environment changes to apply.
cd ~; cd -;
-
Start the app, make sure it works.
rails server curl localhost:3000
Benchmarking
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
Help
Find us on IRC at #empirical-quill!