freeCodeCamp/api
2024-10-02 13:52:02 +02:00
..
__mocks__ chore: update Knip to v5 (#56244) 2024-09-26 13:12:00 +02:00
prisma fix(api): UserRateLimit schema (#55663) 2024-08-08 23:03:49 +05:30
src refactor: separate public and private plugins (#56359) 2024-10-02 13:52:02 +02:00
tools fix(api): use port 27017 (#54220) 2024-04-02 17:07:02 -07:00
.gitignore feat: create docker images for new api (#51538) 2023-09-13 02:15:25 +05:30
jest.config.ts test: speed up api tests (#53969) 2024-03-09 10:36:19 +05:30
jest.utils.test.ts test: minor fix to how cookies are passed around (#55259) 2024-06-21 08:36:46 -07:00
jest.utils.ts refactor: separate public and private plugins (#56359) 2024-10-02 13:52:02 +02:00
package.json refactor: use fastify/rate-limit, drop express (#56328) 2024-09-30 16:13:17 +02:00
README.md fix(api): use port 27017 (#54220) 2024-04-02 17:07:02 -07:00
tsconfig.build.json feat: create docker images for new api (#51538) 2023-09-13 02:15:25 +05:30
tsconfig.json refactor(api): import ts-reset in entrypoint (#51677) 2023-09-28 09:40:51 -07:00

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.

cd tools
docker compose up -d

The new db will be empty, so you can run the seed script to populate it.

cd ../.. # back to the root of the repo
pnpm seed

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.