codeRIT / hackathon-manager

All-in-one platform for hackathon registration & logistics.
https://coderit.org/hackathon-manager/
MIT License
30 stars 24 forks source link
admissions dashboard hackathons mymlh registration ruby-on-rails

HackathonManager

Build Status Code Climate Test Coverage security

🚨 Read me!

HackathonManager v3.0.0 is under heavy development. It is recommended you wait until that is released before using this application.

HackathonManager will also be following the gitflow workflow with all commits going to the develop branch. When v3.0.0 is ready it will be available as a release along with a dedicated v3.0.0 branch.

❤️ HackathonManager Contributors


An all-in-one platform for managing hackathon registration & logistics, originally developed for BrickHack.

Read more at coderit.org/hackathon-manager/

Usage

HackathonManager is a standalone web app separate from your regular marketing website/public homepage.

A typical setup would be:

This allows your public marketing site to operate however you want it (e.g. GitHub pages) while HackathonManager lives in an isolated, consistent environment.

HackathonManager makes use of a few different third-party services & Ruby gems:

Get Started

Deploy HackathonManager for your hackathon »

Deploy

Documentation

Documentation is available at https://coderit.org/hackathon-manager/

Docs are maintained as markdown files in the docs/ folder, with the website configuration & tooling stored in website/.

Doc & website changes are auto-built and deployed via Travis CI once merged into master.

Commits + Releases

Releases are automatically generated by semantic-release using commit messages.

Commit messages should follow the standard type(scope): subject format. For example:

For more information, see semantic-release's how does it work.

Contributing

GitHub issues and pull requests welcome!

All documentation is easily editable using the GitHub UI. Click the "Edit" button at the top of any documentation page to get started.

If there's a new feature you're looking to implement, please file an issue to open discussion on the feature before starting work or opening a pull request.

Local Development

  1. Setup Ruby + MySQL for local development

If you don't already have Ruby + MySQL set up, see this guide by GoRails for pointers.

  1. Clone the repo
$ git clone git@github.com:codeRIT/hackathon-manager
$ cd hackathon-manager
  1. Install dependencies
$ bundle install
  1. Setup databse
$ bin/rails db:setup
  1. Start up the server
$ bin/rails s  # short for bin/rails server
  1. Visit http://localhost:3000/apply, create an account, and complete an application

  2. In another bash window, promote your user to a director

$ cd hackathon-manager
$ bin/rails c  # short for bin/rails console
# Wait for the console to start...
Loading development environment (Rails 5.1.1)
irb(main):001:0> User.last.update_attribute(:role, :director)
  1. Visit http://localhost:3000/manage and set up the hackathon as needed

See https://coderit.org/hackathon-manager/ for docs on regular hackathon setup

Local Development Utilities

License

The gem is available as open source under the terms of the MIT License.