Scheduling solution for a content-heavy conference, built on Rails
rvm install 2.2.1; rvm use 2.2.1; rvm gemset create scheduler
development
and test
environments currently make the following assumptions:
localhost
and is accessible via UNIX socketpg_hba.conf
to achieve this - setting your user to peer
authentication via UNIX sockets is a working method.CREATEDB
privilege (as postgres
execute ALTER USER {username} CREATEDB
)DATABASE_URL
is set in the environment. Likewise, if you wish to override these settings, you can also craft a DATABASE_URL
environment variable to do so.capybara-webkit
is required by this project and will be installed automatically into your gemset by bundler
.
brew install qt
on OSX, or sudo apt-get install qt5-default libqt5webkit5-dev
on Linux Mint.sudo apt-get install nodejs
too, if you don't already have one installed.Alternatively, a dockerisation is available as a GitHub repo.
We should ideally use a TDD/BDD approach:
spec/features/[behaviour]_feature_spec.rb
. Consider using js: true
to run tests in a headless browser when JS is likely to be used.There are a few gems that may be included later in development to improve testing capabilities, notably FactoryGirl to generate test data, and Webmock to break on attempted external calls.
We're using Heroku as a handy way of trying out the project on a live platform with minimal fuss. To deploy to Heroku:
git push -f heroku local-topic-branch:refs/heads/master
to deploy your current branch to Heroku.Heroku run rake db:[whatever]
is your friend for sorting out the database. We may add the option to generate test data at a later point.There are some Heroku-specific modifications to the codebase:
production.rb
has a line that creates a secret key on the dyno.rails_12factor
in Gemfile is required for Heroku.As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
Examples of unacceptable behaviour by participants include:
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviours that they deem inappropriate, threatening, offensive, or harmful.
By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported by contacting a project maintainer at scheduler@nineworlds.co.uk. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident.
This Code of Conduct is adapted from the Contributor Covenant, version 1.3.0, available at http://contributor-covenant.org/version/1/3/0/