Skip to content
Official React-based website for Penn Labs' club directory and events listings.
Python JavaScript HTML Dockerfile
Branch: master
Clone or download
Latest commit 1002553 Jan 21, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Rename repository (again) Jan 15, 2020
backend add fuzzy lookup to shell_plus Jan 21, 2020
frontend fix edit button Jan 22, 2020
k8s Rename repository (again) Jan 15, 2020
.gitignore add env.sh to .gitignore Jan 13, 2020
.pre-commit-config.yaml Lint Jan 13, 2020
LICENSE Add LICENSE [ci skip] Jan 18, 2020
README.md Rename repository (again) Jan 15, 2020
codecov.yml Fix codecov paths Jan 14, 2020

README.md

Penn Clubs

CircleCI Coverage Status

Official React-based website for Penn Labs' club directory and events listings. The REST API written in Django for Penn Clubs infrastructure.

Installation

You will need to start both the backend and the frontend to do Penn Clubs development.

Backend

Running the backend requires Python 3.

In production, you will need to set the following environment variables:

  • SECRET_KEY
  • SENTRY_URL
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_STORAGE_BUCKET_NAME
  • LABS_REDIRECT_URI
  • LABS_CLIENT_ID (from Platform)
  • LABS_CLIENT_SECRET (from Platform)

To run the server, run:

cd backend
pipenv install
pipenv shell
./manage.py migrate
./manage.py runserver

When installing locally for development, run:

cd backend
pipenv install --dev
pipenv shell
./manage.py migrate
./manage.py goap_import
./manage.py runserver

To grant all users in the database superuser privileges for development:

cd backend
pipenv shell
./manage.py shell_plus
>>> User.objects.all().update(is_superuser=True, is_staff=True)

Frontend

Running the frontend requires Node.js.

  1. Enter the frontend directory.
  2. Install dependencies using npm install --dev in the project directory.
  3. Run application using npm run dev.
  4. Access application at http://localhost:3000.
You can’t perform that action at this time.