Skip to content

Producks/Transcendence

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ft_transcendence

Dave comment on the project

A lot of things should have been done differently in retrospect. We weren't aware of being able to use Django Rest API before it was too late. I had to make decisions with what we had, and the outcome wasn't pretty in the end. The biggest waste of time and was doing the ModSecurity + Hashicorp Vault module. The idea is great, don't get me wrong, but the assignment required everything to compile in a single command, and the inability to unseal the vault was clearly an oversight by the network who created the assignment. A good 5 days were straight in the bin because of that. Considering the project is the first web project with all those technologies we know nothing about, the outcome wasn't half bad for a first beginner project. At least, I got to learn a lot of new things, and in the future a lot of those issues will be taken care of since I'll have more experience.

About the project

"ft_transcendence" is a dynamic web project centered on hosting real-time multiplayer Pong games. It combines web technologies with stringent security protocols to offer a robust, single-page application, designed for Google Chrome. The project showcases modular development in areas like gameplay, user management, and cybersecurity, challenging participants to create an engaging and secure gaming platform. It also features peer-evaluation and flexible technology choices within specified constraints, making it a comprehensive showcase of web development skills.

Built with

  • bootstrap-logo
  • django-logo
  • js-logo
  • css-logo
  • html-logo
  • python-logo
  • three-js-logo
  • docker-logo

Getting started

Prerequisite

To build this project you will need to have an instance of Docker running.

Installation

  1. Clone the repository

    git clone https://github.com/xApologize/ft_transcendence.git
    
  2. Set the environment. The project comes with a tool that you can use to easily generate the .env file for the project.

    1. Additionally, if you are a 42 student and want to make use of the 42 OAuth to login, you will need to fill the .env file in the backend folder. The AUTH42_CLIENT and AUTH42_SECRET will be generated when you create your app in the intra. Fill the AUTH42_LINK with the url generated whe nyou created the app. AUTH42_REDIRECT_URI will need to be https://your-domain/callback, you can also use localhost instead if you will be using it locally.
  3. Run the containers in the project root with

    docker-compose up --build
    
  4. You can access the website with https://localhost

Credits

  • Dave, our Devops, Backend and Network security dev.
  • Florian, our Game design, Game dev and Game visual dev.
  • Jacob, our Backend, Frontend and UI dev.
  • Jean-Benoit, our Frontend and UIX dev.
  • Codepen, for the animated background.
  • Codepen, for the animated loading icon.
  • Positronx.io, for the dev card.

About

A web team project from 42 school

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.8%
  • Python 1.3%
  • Other 0.9%