Show Management Software for Columbia University Lion Dance
Get started »
View Site
·
Report Bug
·
Request Feature
This is a custom show management web application for Columbia University Lion Dance, began in the summer of 2022. Every year, CU Lion Dance receives dozens of performance bookings, each of which requires careful planning and coordination of logistics. Previously, a Google Sheets setup was used for members to register for shows, but this grew increasingly cumbersome with scale and became hard to maintain. Even with Apps Script, it was also not fully customizable to the needs of members. From there, the CU Lion Dance Hub was born.
CU Lion Dance Hub requires the following to run:
Clone the repository and move to the project directory.
git clone https://github.com/ew2664/culd-hub.git
cd culd-hubInstall the required Python dependencies for the backend.
cd backend && pip install -r requirements.txtInstall the required Node.js dependencies for the frontend.
cd ../frontend && yarnMove to the project directory.
cd culd-hubBuild and run the Docker image.
docker-compose up --buildOr to run it in the background, just add the -d option.
docker-compose up -d --buildNavigate to http://localhost:3000/ to see the results.
If you need to stop the containers:
docker-compose downMake sure you have followed the dependency installation instructions under Getting Started.
Move to the backend directory and clean any existing migrations.
cd backend
chmod u+x scripts/clean_migrations.sh
scripts/clean_migrations.shMake and run new migrations.
python manage.py makemigrations
python manage.py migrateAlternatively, the above two steps can be automated with the make_migrations
script. (The -c flag sets the option to
clean any existing migrations.)
chmod u+x scripts/make_migrations.sh
scripts/make_migrations.sh -cIf you already have mock data (e.g. scripts/mock-data.json),
you can load it into the database.
python manage.py loaddata scripts/data.jsonYou can also choose to enter data yourself later with the admin site. In that case, create a superuser.
python manage.py createsuperuserCreate a .env file from the env.template file provided and fill in the
values.
cp core/settings/env.template core/settings/.envStart the backend server on port 8000.
python manage.py runserverIn a separate shell, move to the frontend directory and start the frontend server.
cd frontend && yarn startYou may need to temporarily point the backend proxy used by your development
server to your backend on port 8000.
Restart the server after modifying the following in frontend/src/setupProxy.js
.
createProxyMiddleware({
target: "http://127.0.0.1:8000",
changeOrigin: true,
})Navigate to http://localhost:3000/ to see the results.