|
1 | 1 | # HackathonManager |
2 | 2 |
|
3 | | -[](https://travis-ci.org/codeRIT/hackathon-manager) |
4 | | -[](https://codeclimate.com/github/codeRIT/hackathon-manager) |
5 | | -[](https://codeclimate.com/github/codeRIT/hackathon-manager/coverage) |
6 | | -[](https://hakiri.io/github/codeRIT/hackathon-manager/master) |
| 3 | +An all-in-one platform for hackathon registration & logistics, originally developed for [BrickHack](https://brickhack.io) and [WiCHacks](https://wichacks.io) at [RIT](https://www.rit.edu/). |
7 | 4 |
|
8 | | -### 🚨 Read me! |
9 | | -HackathonManager v3.0.0 is under **heavy** development. It is recommended you wait until that is released before using this application. |
| 5 | +> **This project has been archived and is no longer maintained.** No new features, bug fixes, or security updates will be made. Issues and pull requests are closed. |
10 | 6 |
|
11 | | -HackathonManager will also be following the gitflow workflow with all commits going to the `develop` branch. When v3.0.0 is ready it will be available as a release along with a dedicated v3.0.0 branch. |
| 7 | +## What it did |
12 | 8 |
|
13 | | -❤️ HackathonManager Contributors |
14 | | - |
15 | | ---- |
16 | | - |
17 | | -An all-in-one platform for managing hackathon registration & logistics, originally developed for [BrickHack](https://github.com/codeRIT/brickhack.io). |
18 | | - |
19 | | -Read more at **[coderit.org/hackathon-manager/](https://coderit.org/hackathon-manager/)** |
20 | | - |
21 | | -- **Hacker applications:** Enable hackers to apply to your hackathon while providing all relevant information (contact info, school, demographics, etc) |
22 | | -- **MyMLH support:** Streamline the application process when users log in with [MyMLH](https://my.mlh.io/), a common platform for applying to any MLH hackathon. Basic info is pre-filled based on a common application, so hackers don't have to re-type it every time. |
23 | | -- **Admissions & RSVPs**: Facilitate accepting hackers to your hackathon & enable them to RSVP |
24 | | -- **Bus Lists:** Coordinate bus sign-ups during the RSVP process while communicating important information to riders & captains |
25 | | -- **Email communication**: Ensure hackers get consistent, timely information throughout their application process, while enabling your organizing team to communicate important information at any time. |
26 | | -- **Statistics & Visualization:** Surface key analytics about your admissions, distribution of applicants, progress towards attendance, etc. |
27 | | - |
28 | | -## Usage |
29 | | - |
30 | | -HackathonManager is a standalone web app separate from your regular marketing website/public homepage. |
31 | | - |
32 | | -A typical setup would be: |
33 | | - |
34 | | -- **brickhack.io** — Marketing site with event info, schedule, sponsors, etc and a button to apply |
35 | | -- **apply.brickhack.io** — HackathonManager deployment to accept hacker applications + host management dashboard |
36 | | - |
37 | | -This allows your public marketing site to operate however you want it (e.g. GitHub pages) while HackathonManager lives in an isolated, consistent environment. |
38 | | - |
39 | | -HackathonManager makes use of a few different third-party services & Ruby gems: |
40 | | - |
41 | | -- [Devise](https://github.com/plataformatec/devise) + [MyMLH](https://my.mlh.io/) (authentication & attendee identity) |
42 | | -- [Sidekiq](https://github.com/mperham/sidekiq) (background jobs) |
43 | | -- [SendGrid](https://sendgrid.com) (email) |
44 | | -- [Amazon S3](https://aws.amazon.com/s3) (resume storage) |
45 | | -- [Chartkick](http://chartkick.com) (management UI charts) |
46 | | -- [Blazer](https://github.com/ankane/blazer) (custom SQL queries, analytics, and charts) |
47 | | -- [Doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) (authentication via OAuth for API usage) |
48 | | - |
49 | | -## Get Started |
50 | | - |
51 | | -**[Deploy HackathonManager for your hackathon »](https://coderit.org/hackathon-manager/docs/deployment)** |
52 | | - |
53 | | -[](https://heroku.com/deploy) |
54 | | - |
55 | | -## Documentation |
56 | | - |
57 | | -Documentation is available at https://coderit.org/hackathon-manager/ |
58 | | - |
59 | | -Docs are maintained as markdown files in the `docs/` folder, with the website configuration & tooling stored in `website/`. |
60 | | - |
61 | | -Doc & website changes are auto-built and deployed via [Travis CI](https://travis-ci.org/codeRIT/hackathon-manager) once merged into master. |
62 | | - |
63 | | -## Commits + Releases |
| 9 | +HackathonManager handled the full lifecycle of hackathon attendee management: applications, MyMLH-based login, admissions & RSVPs, bus list coordination, email communication, and analytics dashboards. It was built with Ruby on Rails and designed to run as a standalone app alongside your marketing site. |
64 | 10 |
|
65 | | -Releases are automatically generated by [semantic-release](https://github.com/semantic-release/semantic-release) using commit messages. |
| 11 | +## History |
66 | 12 |
|
67 | | -Commit messages should follow the standard `type(scope): subject` format. For example: |
| 13 | +HackathonManager was actively developed from 2016–2021 across 49 releases and 1,077 commits. It powered registration for multiple BrickHack and WiCHacks events and was adopted by other hackathons as well. |
68 | 14 |
|
69 | | -- `feat: Improve form typography` |
70 | | -- `deploy(heroku): Ensure db:migrate is run after each deploy` |
71 | | -- `fix: Support HTTPS in questionnaire portfolio URL` |
| 15 | +A v3.0.0 rewrite was started but never completed. |
72 | 16 |
|
73 | | -For more information, see semantic-release's [how does it work](https://github.com/semantic-release/semantic-release#how-does-it-work). |
| 17 | +## Alternatives |
74 | 18 |
|
75 | | -## Contributing |
| 19 | +If you're looking for hackathon management tools, you may want to explore: |
76 | 20 |
|
77 | | -GitHub issues and pull requests welcome! |
| 21 | +- [HackathonManager alternatives on GitHub](https://github.com/topics/hackathons) |
78 | 22 |
|
79 | | -All documentation is easily editable using the GitHub UI. Click the "Edit" button at the top of any documentation page to get started. |
80 | | - |
81 | | -If there's a new feature you're looking to implement, **please** file an issue to open discussion on the feature before starting work or opening a pull request. |
82 | | - |
83 | | -## Local Development |
84 | | - |
85 | | -1. Setup Ruby + MySQL for local development |
86 | | - |
87 | | -If you don't already have Ruby + MySQL set up, see [this guide by GoRails](https://gorails.com/setup) for pointers. |
88 | | - |
89 | | -- Select your computer's operating system & version |
90 | | -- If given the choice, use `rbenv` -- this will ensure a clean, sustainable Ruby dev environment |
91 | | -- SQLite and PostgreSQL steps are optional |
92 | | - |
93 | | -2. Clone the repo |
94 | | - |
95 | | -```bash |
96 | | -$ git clone [email protected]:codeRIT/hackathon-manager |
97 | | -$ cd hackathon-manager |
98 | | -``` |
99 | | - |
100 | | -3. Install dependencies |
101 | | - |
102 | | -```bash |
103 | | -$ bundle install |
104 | | -``` |
105 | | - |
106 | | -4. Setup databse |
107 | | - |
108 | | -```bash |
109 | | -$ bin/rails db:setup |
110 | | -``` |
111 | | - |
112 | | -5. Start up the server |
113 | | - |
114 | | -```bash |
115 | | -$ bin/rails s # short for bin/rails server |
116 | | -``` |
117 | | - |
118 | | -6. Visit http://localhost:3000/apply, create an account, and complete an application |
119 | | - |
120 | | -7. In another bash window, promote your user to a director |
121 | | - |
122 | | -```bash |
123 | | -$ cd hackathon-manager |
124 | | -$ bin/rails c # short for bin/rails console |
125 | | -# Wait for the console to start... |
126 | | -Loading development environment (Rails 5.1.1) |
127 | | -irb(main):001:0> User.last.update_attribute(:role, :director) |
128 | | -``` |
| 23 | +## License |
129 | 24 |
|
130 | | -8. Visit http://localhost:3000/manage and set up the hackathon as needed |
| 25 | +[MIT](MIT-LICENSE) |
131 | 26 |
|
132 | | -_See https://coderit.org/hackathon-manager/ for docs on regular hackathon setup_ |
| 27 | +--- |
133 | 28 |
|
134 | | -### Local Development Utilities |
| 29 | +After many years and events, HackathonManager has retired. If you've used, contributed to, or enjoyed HackathonManager — thanks for being part of the journey! |
135 | 30 |
|
136 | | -- **Mail View** - Email templates can be previewed at http://localhost:3000/rails/mailers |
137 | | -- **Mail Catcher** - When active, emails will be captured by MailCatcher instead of slipping into a black hole (no emails are ever sent in development). Visit [mailcatcher.me](http://mailcatcher.me/) and follow instructions under "How" to get setup. |
138 | | -- **Guard** - Automatically runs tests based on the files you edit. `bundle exec guard` |
139 | | -- **Coverage** - Test coverage can be manually generated via the `bin/rails coverage:run` command. Results are then made available in the `coverage/` directory. |
140 | | -- **Sidekiq** - Run background jobs (such as emails) and view active & completed jobs. Sidekiq is automatically started with Docker - a dashboard is available at http://localhost:3000/sidekiq (_also available in production_). |
| 31 | +Happy hacking, |
141 | 32 |
|
142 | | -## License |
143 | | - |
144 | | -The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). |
| 33 | +❤️ HackathonManager Contributors |
0 commit comments