This is a T3 Stack project bootstrapped with create-t3-app
.
Start Docker engine and initialize the .env
file. Then:
If you want to use zipped existing data managed by git lfs
brew install git-lfs #install git (use windows appropriate commands if not mac)
git lfs install #init Git LFS in your git repository
git lfs track "*.zip" #specify which files to be managed by Git LFS
git lfs pull -I data.zip # git pull, specifying object's OID (ie retrieve binary data from Git LFS Object)
# iinw you can also use git add and git commit (to the same OID of data.zip)
unzip data.zip #
mkdir data/{postgres,mongo,s3} # (optional) ...or if you want to persist new data
yarn
yarn docker:up
yarn prisma:push # run this whenever you change the schema
yarn prisma:studio # (optional) open Prisma Studio to view/edit data
yarn dev
Notes:
- If you want persistent data, create directories
./data/postgres
and./data/mongo
. - If you encounter authentication errors with
prisma:push
change the database ports or delete your local installations. - If postgres is running on 5432, kill the process
sudo pkill -u postgres
- If you have trouble starting the
judge0
container, or encounterIncorrect type. Expected "include".
incompose.yml
, try updatingdocker-compose
tov2.20
(Docker Desktop4.42.1
) or later.
docker build -t peer-prep .
docker compose --profile prod up -d
For Assignment 4 and beyond, do note there is an additional .env
file that needs to be initialized in the folder production
. If you are a grader, please refer to the secret submission Assignment4-production.env.txt
.