Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/govhackaustralia/hackerspace3
Competition Management System for the GovHack Hackathon
https://github.com/govhackaustralia/hackerspace3
Last synced: about 1 month ago
JSON representation
Competition Management System for the GovHack Hackathon
- Host: GitHub
- URL: https://github.com/govhackaustralia/hackerspace3
- Owner: govhackaustralia
- License: agpl-3.0
- Created: 2018-07-14T08:14:30.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-09-22T13:20:13.000Z (4 months ago)
- Last Synced: 2024-12-01T22:46:18.058Z (about 1 month ago)
- Language: Ruby
- Homepage:
- Size: 11.7 MB
- Stars: 21
- Watchers: 7
- Forks: 12
- Open Issues: 53
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-hackathon - Hackerspace3 - Competition Management System for the GovHack Hackathon. `ruby` (Platforms / Open Source 🌳)
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](https://rubyonrails.org/)
Current major version is 7
Check out the [Rails Guides](https://guides.rubyonrails.org/index.html) to get up and running.
- [Getting Started with Rails](https://guides.rubyonrails.org/getting_started.html)
There is also a Dockerfile with instructions on how to get up and running in our wiki.
- [Running Hackerspace with Docker](https://github.com/govhackaustralia/hackerspace3/wiki/Running-Hackerspace-with-Docker)
## Ruby version
- `3.0.0`
## Database initialization and creation
[PostgreSQL](https://www.postgresql.org/) is required.
```bash
$ 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.
```bash
$ 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](https://github.com/govhackaustralia/hackerspace3/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](https://github.com/laserlemon/figaro)
### Seed File
Optional: Set if running in development and running the seed file.
- SEED_EMAIL (defaults to: [email protected])
- 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"](https://github.com/govhackaustralia/hackerspace3/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)