Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iker-gonzalez/ft-transcendence

Unleash the ultimate Pong experience with our web app! Secure logins via 42 school OAuth, two-factor authentication, stats tracking, messaging, and live game sessions. Built with TypeScript, ReactJS, NestJS, and PostgreSQL, all neatly containerized with Docker for a seamless experience.
https://github.com/iker-gonzalez/ft-transcendence

42school chat-application docker game-development nestjs oauth pong-game postgresql reactjs two-factor-authentication typescript web-app

Last synced: 2 days ago
JSON representation

Unleash the ultimate Pong experience with our web app! Secure logins via 42 school OAuth, two-factor authentication, stats tracking, messaging, and live game sessions. Built with TypeScript, ReactJS, NestJS, and PostgreSQL, all neatly containerized with Docker for a seamless experience.

Awesome Lists containing this project

README

        

# Transcendence
For the official subject of the project:

> This project is about creating a website for the mighty Pong contest!
>
> Thanks to your website, users will play Pong with others. You will provide a nice user interface, a chat, and real-time multiplayer online games!

## Features
- Backend in NestJS
- PostgreSQL with Prisma
- E2E testing with Pactum
- Frontend in TypeScript React
- Dockerized
- Features:
- User
- 2FA authentication with authenticator app
- Login through 42 Intra OAuth system
- List of friends with live status
- Stats, e.g. wins and losses, match history, etc.
- Game
- Online multiplayer Pong-like
- Matchmaking system
- Canvas game in JavaScript
- Game customization, e.g. themes and power-ups
- Chat
- Private conversation with Blocking feature
- Channels (public, private, password-protected)
- Ownr and Admin rights (e.g. muting, kicking, banning members)
- Game invitation through chat

# Application Environment Configuration
This application relies on environment variables to customize its behavior. To set up your development environment, follow these steps:

Create a .env file at the root of the project.
Open the .env file in a text editor of your choice.
You'll need to provide values for various environment variables based on your specific configuration. Refer to the .env_template file for a list of required environment variables.

Note: Sensitive information such as database credentials should be handled securely. Ensure that you do not expose these values in public repositories or environments.