Hackerspace3
Competition Management System for the GovHack Hackathon
Install / Use
/learn @govhackaustralia/Hackerspace3README
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:managescope
- note: requires
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.
- Added new DNS entry for 2024 (AWS Console -> Route 53)
- Updated /etc/nginx/sites-enabled/hackerspace-production.conf server_name to include 2024
- Restarted nginx (needed to create my own sudo account with a password)
- Insert a new competition row into competitions table via postgres
- Insert an admin role for self and the new competition year via postgres
- In hackerspace switch over current year
- In hackerspace assign the competition management team
Contributing
Filter the issues section to "good first issue"
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
