This is our ft_transcendence, the last project from the common core of 42 school
The project is the result of the collaboration between shackbei, tgrossma, mstrantz, tblaase and kprzybyl.
Here you can read about CVE-2022-23529, it affects JsonWebToken <= 8.5.1.
We are using 8.5.1 which was the latest stable version available during the project.
In this project we were challanged to create a website where you can play pong and interact with other users.
For loggin into the page we had to use the OAuth system of 42 intra API.
The frontend had to be developed in a TypeScript framework of our choice.
The backend had to be written in NestJS.
As database we had to use PostgreSQL.
All details are listed in our requiremnts.txt.
Here are some example pictures from our project:
.env and it has to have this path /src/backend/.env
.env file since it may contain sensitive data as for example your API secret.
Theses following variables have to be set inside the file:
CLIENT_IDcan be found on intraCLIENT_SECRETcan be found on intraHOSTthis will be the IP-address of your server, i.e.http://localhostCALLBACKthis will be the same url as the callback-url in your intra,
i.e.http://localhost:3000/auth/login/callbackPOSTGRES_USERthis will be the username for setting up and accessing the database (for some reason has to be the same asPGDATABASE)POSTGRES_PASSWORDthis will be the password for the user abovePGDATABASEthis will be the name of your database (for some reason has to be the same asPOSTGRES_USER)JWT_PASSWORDthis will be the password of your JWT-serviceTWO_FACTOR_AUTHENTICATION_APP_NAMEthis will be name of your 2FA app
here you can find a template for our .env
You need:
- Docker
- 2.5GB of discspace for the Docker-Images/Containers/Volume
- 42 Intra API Key
Launch our project via the Makefile by using make or make all in the root directory of the repository.
This takes 90 seconds here in our school, times may vary depending on the download speed.
For shutting down the server but not deleting anything use make down in the root of the repo.
For deleting every docker container/image/volume that is currently not used, use make clean in the root of the repo.











