tcnj-acm / halo

Hackathon Management System built on Django
6 stars 4 forks source link
aws-s3 django hackathon heroku postgres


Logo

HALO

Hackathons with Awesome Logistics Organization

A Hackathon Management System built on Django

View Demo . Report Bug . Request Feature

About The Project

HALO is a web application that gives alleviates hackathon operations. From handling registration to hacker and organizer management, HALO works as a resource management tool for all organizers. This is what it can do:

  1. Seamless Registration and Check-in module from the platform
  2. Check-in hackers via QR Code
  3. Website Waiting List mode
  4. Hacker team building functionality with invitation integration via email
  5. Exclusive sponsor booth pages on your website
  6. Quick Deployment to Heroku
  7. Integrated Email Module with Sendgrid
  8. Resume Drop storage with AWS S3

Built With

dependencies
django
mysqlclient
python-dotenv
django-qr-code
django-storages
boto3
gunicorn
dj-database-url
whitenoise
psycopg2-binary
django-heroku
sendgrid

Python 3.9.10

Getting Started

Prerequisites

You need a Unix-based Machine. If you only have a Windows Machine please refer to the WSL Guide.

You can also find the required packages you NEED to have to run the application locally within that link.

Deployment Reqs

Heroku with Postgres used. Used Postgres add-on with heroku. Be sure to add all your envs to your secret variables on linkedin

Environmental Variables

The project uses multiple .env variables and unfortunately couldn't be compiled to one file. Please read the Environmental Variables doc to properly set this up.

Installation

  1. Clone the repo

    git clone git@github.com:tcnj-acm/halo.git

    Note: If you don't have ssh keys setup to clone git repos, then replace the ssh link with https://github.com/tcnj-acm/.git

  2. cd to repo

  3. Create the pipenv environment

    pipenv install

    Once you install the pipenv environment, you can activate it by doing:

    pipenv shell
  4. Set up your environmental variables

  5. python manage.py migrate

  6. cd setup/

  7. sh run_create_db.sh

  8. cd ..

  9. python manage.py runserver

Usage

We built this project because we wanted all hackathons to have a powerful application that can tackle on the big things.

If you are organizing a hackathon and want a smooth process to manage your hackers and team, to operate registration and check-in, and to impress your sponsors with an exclusive website "booth" -- this project is for you!

Resources

Here are some resources we believe will help you to navigate and understand the repo's codebase:

Contributing

Please read our Contributing guide and Code Of Conduct.

License

Distributed under the MIT License. See LICENSE for more information.

Contributors

We'd like to thank everyone who has contributed to the project:

Abhi Vempati - Believes chocolate is the only superior ice cream flavor

Kevin Williams - Who the heck likes chocolate frosted flakes anyway??

Sterly Deracy - Maestro of finesse, hustler extraordinaire

JM Tameta - unofficial bachelors in the arts

Simon Blamo - I go by Sam sometimes