hacktx / pepper

Hackathon application and user information system
GNU Affero General Public License v3.0
1 stars 3 forks source link

Pepper

Pepper is a hackathon application designed to work with MyMLH for sign in.

This application is under active development and remains in beta. These setup instructions are in no way complete and will be edited once a final version is released. If you have trouble setting it up, please contact me for help.

Quickstart

You can deploy this application on Heroku.

Deploy

Local Development

It is highly recommended to use a virtualenv to manage dependencies.

  1. Create a PostgreSQL database named pepper
  2. Run pip install -r requirements.txt
  3. Create a .env file with your configuration like the following:
    LOG_LEVEL=debug
    SERVICE_NAME=Pepper
    DEBUG=True
    LOCAL=True
    DATABASE_URL='postgresql://Rohit@127.0.0.1:5432/pepper'
    RESUME_HASH_SALT='ur salt here'
    SECRET_KEY='a0th3rS3cr3tH3r3'
    CHECK_IN_SECRET='another secret here'
    REGISTRATION_OPENED=True
    REGISTRATION_CLOSED=True
    PUZZLES_OPEN=True
    CHECK_IN_ENABLED=True
    SENDGRID_API_KEY=''
    HACKATHON_NAME='HackTX'
    MLH_APPLICATION_ID=''
    MLH_SECRET=''
    REQUIRE_SSL=False
    BASE_URL='http://127.0.0.1:5000/'
    GENERAL_INFO_EMAIL='hello@freetailhackers.com'
    SLACK_TOKEN=''
    MAILGUN_PUB_KEY=''
    S3_BUCKET_NAME=''
    AWS_ACCESS_KEY=''
    AWS_SECRET_KEY=''
    KEEN_PROJECT_ID=''
    KEEN_WRITE_KEY=''
    LETS_ENCRYPT_PATH=''
    LETS_ENCRYPT_PATH_CHALLENGE=''
    CDN_URL=''
    FIREBASE_KEY=''
    RESUMES_LINK=''
    REDIS_URL='127.0.0.1:6379'
    INNOVATION_PORTAL_KEY=''
  4. Making sure PostgreSQL is running, set up the tables by running python manage.py db upgrade
  5. Run the server by running python manage.py runserver
  6. Startup atleast one worker by running python manage.py runworker simulatenously.

Docker setup (Beta):

docker-compose up If you change requirements: docker-compose build

Compile CSS:

sass --watch pepper/static/scss/:pepper/static/css sass --watch pepper/static/scss/_email.scss:pepper/templates/emails/style.css

Explanation of Services

HackTX is a tremendous undertaking and as a result Pepper was built from the ground up to be incredibly powerful. Pepper is designed to serve as the hub for your hackathon's tech stack before, during, and after the event. As a result, there are a number of dependencies Pepper depends on, outsourcing much of the work to 3rd parties that can accomplish the task quickly and cheaply. A list of external dependencies: