Final 42 School Common Core project. It consists of creating a real-time online pong contest website. To do this, we have developed the frontend, the backend and the docker compose that makes everything easier to run. Developed by @gpernas-, @karisti-, @mrosario, @aggarcia and @omercade.
ft_transcendence.demo.mp4
This project include the following features:
- Online Pong:
- Matchmaking
- Game spectating
- Match history
- Leaderboard
- Chat system:
- Channels (with administation features)
- Direct messages
- Friend list / blocks
- Game invites
- User status (connected, disconnected, playing a match, ...)
- User profile:
- Uploadable profile picture
- Changeable username
- Authentication and security:
- 42 Intranet OAuth
- 2FA using TOTP
- Administration panel:
- Set / unset site admins
- Manage channels
- Ban / unban users from site
- Docker
- 42 Intranet access for API key
- Create
.env
file with corresponding values - Run
docker-compose up --build
- Go to
http://localhost:3001
(or the URL set on .env file)
- Nest JS API creation
- React JS, React-Router
- PostgreSQL, Prisma ORM
- Docker Compose
- Real time communication with Websockets
- File upload / checking
- OAuth
- 2FA using TOTP
- User management