Skip to content

cerdelen/42_transcendence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

485 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FullStack Website with Database

Welcome to our FullStack website project! This web application is designed to provide a rich set of features including user authentication, chat functionality, friend requests, user blocking, an integrated Pong game, and a leaderboard. Read on to learn more about the project and how to get started.

Table of Contents

Introduction

This project is a full-stack web application that demonstrates various functionalities.

Features

User Authentication with 2FA (Two-Factor Authentication)

  • Securely authenticate using 42AOauth provided by the 42 intra education platform.
Screen Shot 2023-09-03 at 3 38 58 PM
  • Enhance security with Two-Factor Authentication (2FA) using Google Authenticator.
Screen Shot 2023-09-03 at 1 21 26 PM

Chat Functionalities

  • Engage in private one-on-one chats with other users.
Screen Shot 2023-09-03 at 3 26 49 PM
  • Create or join group chats with multiple users.
  • Group chats feature administrators who can ban or mute users as needed.
Screen Shot 2023-09-03 at 1 22 06 PM

Social Interaction

  • Send and receive friend requests.
  • Block other users if needed.
Screen Shot 2023-09-03 at 1 20 44 PM

Integrated Pong Game

  • Play an integrated Pong game with other users.
Screen Shot 2023-09-03 at 1 23 18 PM Screen Shot 2023-09-03 at 3 31 18 PM
  • Compete for a top spot on the leaderboard.

    Screen Shot 2023-09-03 at 1 22 49 PM

Lifetime Achievement

  • Achieve permanent achievements e.g. "Win x amount of games in a row".

Tech Stack

We utilized the following technologies to build this project:

  • Backend Database: PostgreSQL
  • Backend Framework: Nest.js with Prisma as the database framework
  • Frontend Framework: React
  • Containerization: Docker for easy deployment

Getting Started

To get started with this project, follow these steps:

Important Note: Due to the reliance on the 42OAuth system for the basic Authentication system, an API key is required, and it gets reset frequently. Therefore, deploying this application on your own machine is not possible without a valid API key. Furthermore you need to have an account on the intra portal to be able to login.

If you do have an Api-key all you have to do is set it up in the "server/.env" file providing "api-id" and "api-secret".


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors