Skip to content

hackclub/hackathons-backend

Repository files navigation

Hackathons Backend

The thing that powers hackathons.hackclub.com!

  • 📎 Collecting and reviewing applications to list your hackathon
  • 📧 Notifying subscribers of hackathons in their area
  • 🌍 Geocoding hackathon and subscription locations into coordinates
  • 💾 Archiving hackathon websites for posterity
  • 🗓️ Provides a JSON API for the front-end
📝 Application Form 📬 Subscription Email
Screenshot of Hackathons application form Screenshot of Hackathons subscription email

Contributing

This app is built with 🛤️ Ruby on Rails (running on the edge) and uses 🥋 Solid Queue for running background jobs.

Getting Started

  1. Make sure you have Docker and Ruby 3.4.1 installed.

  2. Clone the repo

    git clone https://github.com/hackclub/hackathons-backend.git
    cd hackathons-backend
  3. Install dependencies

    bundle install
  4. Setup the database and run the server

    rails db:prepare
    rails server

The application will now be running at localhost:3000!

Additional Dependencies

Rails 7 (Active Storage) depends on vips to process images. You'll want this dependency installed on your machine. For macs, run:

brew install vips

Solid Queue

Solid Queue is used to process background jobs in production. In development, we use the good old default Active Job Async queue adapter.

To check up on jobs, visit /admin/jobs on the production site. You must be logged in as an admin to access this page.


Application performance monitoring sponsored by AppSignal .