Skip to content
Humz edited this page Apr 1, 2021 · 4 revisions

Contribution guidelines

  • be DRY and OOP where ever possible
  • use ruby code conventions (two space indents, underscore variable names , question mark boolean methods, etc)
  • all rspec and cucumber tests should be passing green before committing
  • there should exist tests exercising all new functionality
  • the first line of commit messages should generally be brief and concise (< ~60 characters)
  • commits building toward distinct features should be in separate pull requests (use feature branches)
  • it should be clear from the extended commit message and pull request discussion as to which feature each commit is building toward

Installing and running tip4commit on GNU/Linux

  • Fork this repo on GitHub and clone your fork
git clone https://github.com/YOUR_GITHUB_NICK/tip4commit.git
cd ./tip4commit
  • Copy the config skeletons
cp ./config/config.yml.sample   ./config/config.yml
cp ./config/database.yml.sample ./config/database.yml
  • To allow unconfirmed registrations without configuring the mailer, you can comment out the devise :confirmable module requirement in app/models/user.rb (be sure to uncomment it again before you commit)
devise :database_authenticatable, :registerable, :recoverable,
       :rememberable, :trackable, :validatable # , :confirmable
  • Setup the rails environment (NOTE: Gemfile is currently requiring ruby 2.0.0)
bundle install --without production
bundle exec rake db:migrate
bundle exec rake db:test:prepare
  • All rspec and Cucumber tests should be passing green - open an issue if they are not
bundle exec rake spec
bundle exec rake cucumber
  • Start the server
rails server

Creating a user account and project

  • Create a user account in the usual way (and confirm if you have not commented out the devise :confirmable module)
  • Add a project by browsing to the /projects and entering the project url in the search field
e.g. https://github.com/tip4commit/tip4commit
  • At this point you will be on the newly created project page but there will be no way to configure it yet
  • Run the background worker and then reload the project page
bundle exec rails runner "BitcoinTipper.work"
  • You should now see a "change project settings" button
  • Click the "change project settings" button and you should now see the project settings page
  • "branch" determines for which project branch tips are offered

Clone this wiki locally