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-hub
Install the required Python dependencies for the backend.
cd backend && pip install -r requirements.txt
Install the required Node.js dependencies for the frontend.
cd ../frontend && yarn
Move to the project directory.
cd culd-hub
Build and run the Docker image.
docker-compose up --build
Or to run it in the background, just add the -d
option.
docker-compose up -d --build
Navigate to http://localhost:3000/ to see the results.
If you need to stop the containers:
docker-compose down
Make 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.sh
Make and run new migrations.
python manage.py makemigrations
python manage.py migrate
Alternatively, 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 -c
If you already have mock data (e.g. scripts/mock-data.json
),
you can load it into the database.
python manage.py loaddata scripts/data.json
You can also choose to enter data yourself later with the admin site. In that case, create a superuser.
python manage.py createsuperuser
Create a .env
file from the env.template
file provided and fill in the
values.
cp core/settings/env.template core/settings/.env
Start the backend server on port 8000.
python manage.py runserver
In a separate shell, move to the frontend directory and start the frontend server.
cd frontend && yarn start
You 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.