SkillAgentSearch skills...

Hackerspace3

Competition Management System for the GovHack Hackathon

Install / Use

/learn @govhackaustralia/Hackerspace3
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GovHack - Hackerspace

A system for competition participants, sponsors, and volunteers. For details on how to reset Hackerspace for the new year, scroll down.

Framework

Hackerspace 3 is a Ruby on Rails application

Current major version is 7

Check out the Rails Guides to get up and running.

There is also a Dockerfile with instructions on how to get up and running in our wiki.

Ruby version

  • 3.0.0

Database initialization and creation

PostgreSQL is required.

$ rails db:setup

This will also load seed data, see db/seeds.rb for more options

Test Suite

Current coverage is unit tests for models, controllers, and service classes.

$ rails test

External Services

hackerspace3 makes use of AWS and Google services.

See the below Environment Variables section to enable specific services.

Specification Documents

All documents relating to specification can be found in the project wiki.

Environment Variables

Environment variables only need to be set if external services (Google Maps, S3) need to be tested.

Set these in config/application.yml using figaro

Seed File

Optional: Set if running in development and running the seed file.

  • SEED_EMAIL (defaults to: admin@hackerspace.com)
  • SEED_NAME (defaults to: Admin User)

Web Deployment

Set if running in staging or production environments.

  • DOMAIN
  • SECRET_KEY_BASE

Google Authentication

  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET

Slack Intergration

  • SLACK_CLIENT_ID
  • SLACK_CLIENT_SECRET
  • SLACK_TEAM_ID
  • SLACK_BOT_TOKEN
    • note: requires channels:manage scope

AWS Simple Email Service

  • AWS_SES_ID
  • AWS_SES_KEY
  • AWS_SES_SERVER
  • DEFAULT_FROM_EMAIL

AWS S3

  • AWS_ACCESS_ID
  • AWS_ACCESS_KEY
  • AWS_S3_REGION
  • AWS_S3_BUCKET

Google Maps API

  • GOOGLE_API_KEY

Mailchimp

  • MAILCHIMP_API_KEY
  • MAILCHIMP_LIST_ID

Restting Hackerspace for the new year

Knowledge/Exp required: AWS, SSH, Unix, Nginx, Postgres experience.

  1. Added new DNS entry for 2024 (AWS Console -> Route 53)
  2. Updated /etc/nginx/sites-enabled/hackerspace-production.conf server_name to include 2024
  3. Restarted nginx (needed to create my own sudo account with a password)
  4. Insert a new competition row into competitions table via postgres
  5. Insert an admin role for self and the new competition year via postgres
  6. In hackerspace switch over current year
  7. In hackerspace assign the competition management team

Contributing

Filter the issues section to "good first issue"

Related Skills

View on GitHub
GitHub Stars23
CategoryDevelopment
Updated2mo ago
Forks14

Languages

Ruby

Security Score

90/100

Audited on Jan 30, 2026

No findings