Skip to content

m-juin/Transcendence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ft_transcendence

Final Project of the 42 School main cursus.

Ft_transcendende is a Single Page Application website where you can play 3D Pong and Battleship with other players, including live chat, tournaments, games historic and statistics and other features

Warning This is a student project and was not intended to be put on line. This is the reason why we let a .env file if you want to test it.

Stack

Frontend

  • HTML
  • CSS
  • JS

Backend

  • Django
  • PostgreSQL

Blockchain

  • Solidity

Usage

The site can be launched either with make or docker-compose up --build You can the connect on https://localhost or https://host ip

Content

The subject requested to follow a mandatory and let the choice between a list modules for the rest of the proejct.

Mandatory

  • Technical requirement
    • Single Page Application
    • Frontend develop in pure vanilla Javascript
    • Compatibility with latest stable Google Chrome version
    • User shouldn't encounter unhandled error
    • Project must be launched with one command : docker-compose up --build
  • Game:
    • Propose a Pong game with Player vs Player and tournament. The site must have matchmaking system.
  • Security:
    • Passwords in the database must be hashed
    • Protection agains SQL injection/XSS
    • HTPPS connexion
    • Form validation for user input

Modules

Django as backend

PostgreSQL database

Tournament score stored in the Blockchain

Store the tournaments securely on a blockchain using a testing blockchain environment. Using Ethereum as blockhain and Solidity as programming language.

Standard user management, authentitacation, users across tournaments

  • Subscription and log on the website in a secure way
  • Possibility to update user informations
  • Friends list features
  • Match and stat history

Remote players

Play against player on other computer

Other game

Add another game with the same requirements

Live Chat

Create a chat that allow users to:

  • send direct messages
  • block users
  • invite user to game
  • access other user profile
  • send notification for next tournament game

IA Opponent

Introduce an AI opponent that provides an engaging and challenging gameplay for the users

User and Game Stats Dashboard

Create a user friendly dashboards that provides users insight on their own statistics

Two-Factor Authentication and JWT

Enhance security and user authentication by introducing Two-Factor Authentication and utilizing JSON Web Tokens

3D graphics

Use advanced 3D techniques to enhanced the visual aspects of the games. This will be achieved by using Threes JS

Expanding Browser Compatibility

Add support to for additional web browser(Firefox)

Screenshots

IndexTop Homepage

RegisterPage Registration Page

games Game selection Page

TournamentPage2 Tournament Page

Pong Pong game

Battleship2 Battleship Game

UserManagement User settings page

2FAQR Two-Factor Authentication activation

DAshboardPong User Dashboard Page

Made by

mjuin

Backend

gpasquet

Frontend and chat

fle-tolg

Backend and Blockchain

gtouzali

3D games

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors