# Working on the new api ## Connecting to local database The api uses the ORM Prisma and it needs the MongoDB instance to be a replica set. ### Atlas If you use MongoDB Atlas, the set is managed for you. ### Local The simplest way to run a replica set locally is to use the docker-compose file in /tools. ```bash cd tools docker compose up -d ``` The new db will be empty, so you can run the seed script to populate it. ```bash cd ../.. # back to the root of the repo pnpm seed ``` ### Troubleshooting If you have any issues connecting to the database (e.g. MongoServerError: not primary), try removing the volume and recreating the containers. ```bash cd tools docker compose down -v docker compose up -d ``` ## Login in development/testing During development and testing, the api exposes the endpoint GET auth/dev-callback. Calling this will log you in as the user with the email `foo@bar.com` by setting the session cookie for that user. ## Generating Exams ```bash pnpm run generate-exams ```