The public facing site for WiCHacks.
- Hacker applications: Users sign up/in using MyMLH, which includes standard hackathon application info. This pre-fills the WiCHacks application, so hackers don't have to duplicate information!
- Acceptance, RSVPs: Manage applications & coordinate acceptance/waitlist/denials
- Bus Lists: Coordinate bus sign-ups during the RSVP process while communicating important information to riders & captains
- Email communication: Ensure hackers get consistent, timely information throughout their application process, while enabling the organizing team to communicate important information at any time.
- Statistics & Visualization: Surface key information about the application base, distribution of applicants, progress towards attendance, etc.
- See CONTRIBUTING.md for details on cloning the repo.
- Download & install Docker
- Open/start Docker
- Once docker is started, build & bring up the website:
docker-compose up --build
- In a new terminal window, setup the database:
docker-compose run web rails db:setup
- You should now be able to access the website at http://localhost:3000 Windows users: be sure to accept the security pop-ups - they might be hidden! The website will not start until you accept them.
You'll want to make an account & promote yourself to an admin in order to access the entire website.
- Visit http://localhost:3000/users/sign_up
- Sign up for a regular account
- Promote yourself to an admin:
docker-compose run web rails c
# Wait for the console to start...
Loading development environment (Rails 5.1.1)
irb(main):001:0> User.last.update_attribute(:admin, true)
- You should now be able to visit http://localhost:3000/manage
- If you need to restart the Rails server:
docker-compose restart web
- If you need to restart Sidekiq, the background job worker that handles emails:
docker-compose restart sidekiq
- If you need to make changes to the Gemfile:
# 1. Make your changes to Gemfile
# 2. Run a `bundle install` to update the Gemfile.lock
docker-compose run web bundle install
# 3. Update the "web" and "sidekiq" docker images
docker-compose build web sidekiq
# 4. Start the new containers.
# If `docker-compose up` isn't already running, exclude "-d"
docker-compose up -d web sidekiq
You can follow the same format for db
and redis
, though you shouldn't ever need to restart those.
- If you try to
docker-compose run web
and get an error message along the lines ofCould not find foogem-x.y.z in any of the sources
, your local bundle is conflicting with Docker or you haven't runbundle install
.
rm -rf .bundle
docker-compose up --build # This will rebuild the containers, install new dependencies, and start the website