Ensure your system has Git and Docker installed.
- Clone the project:
git clone https://github.com/thecourseforum/theCourseForum2.git
cd theCourseForum2- Setup environment variables
cp .env.example .env- Build the project
docker compose build --no-cache- Wait for the Django server to finish building (i.e.
✔ Service web Builtis visible in stdout). - Download and place the latest database backup (should be named
latest.dump) from Google Drive intodb/latest.dumpin your local repo. - Update the database:
./scripts/reset-db.sh- Start the server
docker compose up- Ensure the website is up, running, and functional at
localhost:8000.
When you open the project, VSCode may prompt you to install the recommended extensions for this project. Click yes and ensure that they are in your extension library. A list of the necessary libraries can be found here.
- Docker build error
=> CANCELED [internal] load build context- This occurs because of a Windows compatibility issue with Docker. As of December 19, 2023, downgrade Docker to version 4.19, then re-build the project.
The application stack is listed below. These technologies were chosen because they are robust and align with the stack that UVA students learn in courses.
- Python
- Django
- PostgreSQL
- Bootstrap 4
- Javascript (jQuery)
docker exec -it tcf_django /bin/bashruff check .
ruff format --check .
djlint tcf_website/templates --check --lint
ty check
npm ci && npx eslint -c .config/.eslintrc.yml tcf_website/static/
python manage.py migrate
coverage run manage.py testGitHub Actions sets GITHUB_ACTIONS=true so the same module runs with DEBUG=False and without the debug toolbar; see .github/workflows/ci.yml.