KianRistori / ft_transcendence

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project Summary

Score

project score

Objectives

  1. Develop a comprehensive gaming platform with various features to enhance user experience.
  2. Ensure robust security measures, accessibility features, and performance optimizations.
  3. Implement standard user management, authentication, and support for multiplayer interactions.
  4. Enhance user engagement through live chat, AI opponents, and customizable gaming experiences.
  5. Provide efficient log management, browser compatibility, and multi-language support.

Project Requirements

  • Implement all mandatory modules perfectly before proceeding to bonus modules.
  • Use authorized third-party software as specified in each module.
  • Maintain clear documentation and file naming conventions.
  • Ensure compliance with accessibility standards and data protection regulations.
  • Utilize Docker for containerization and efficient deployment of the application.

Implemented Modules

Backend Framework

In this major module, you are required to utilize a specific web framework for your backend development, and that framework is Django.

Frontend Framework

Streamline development and enhance user interfaces using Bootstrap toolkit for frontend development.

Database Integration

Store backend data securely and efficiently using PostgreSQL database for data storage.

User Management & Authentication

This module delves user management in a secure way. Users must be able to :

  • Register on the website
  • Log in
  • Choose a unique name in the tournament
  • Update their information
  • Upload an avatar
  • Add and remove friend
  • Check win-loss statistics
  • Check Match History

Implementing a remote authentication

This module enables a new authentication system for the user using OAuth 2.0 authentication with 42

Remote Players & Live Chat

Enable remote play between user and a live chat using WebSockets for real-time communication.

AI Opponent

Enhance gaming experience with AI opponents without relying on A* algorithm using custom AI algorithms.

Log Management

Efficiently store, index, and visualize log data using ELK stack (Elasticsearch, Logstash, Kibana) for log management.

Browser Compatibility & Multi-language Support

Ensure compatibility across browsers and support multiple languages using Internationalization libraries for multi-language support.

Accessibility Features

Enhance accessibility for visually impaired users using HTML/CSS for accessibility features.

About


Languages

Language:Python 36.2%Language:JavaScript 34.6%Language:HTML 28.5%Language:Dockerfile 0.7%