GithubHelp home page GithubHelp logo

angelamcosta / ft_transcendence Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.74 MB

This project is about creating a website for the mighty Pong contest!

License: MIT License

Makefile 1.96% Dockerfile 1.24% Python 96.80%

ft_transcendence's Introduction

Alien Monster ft_transcendence

GitHub Language Count GitHub Top Language GitHub Contributors GitHub Last Commit Github License wakatime

This project is about creating a website for the mighty Pong contest! The subject of the project can be found here.

Minimal technical requirement

Important

Some of these contraints could be overriden by the choice of specific modules.

The project must comply with the following rules:

  • Development of the site can be done with or without a backend.
    • If a backend is included, it must be written in pure Ruby, unless overridden by the Framework module.
    • If a backend or framework uses a database, the constraints of the Database module must be followed.
  • The frontend should be developed using pure vanilla JavaScript, unless altered through the FrontEnd module.
  • The website must be a single-page application, allowing the use of the Back and Forward buttons in the browser.
  • Compatibility with the latest stable version of Google Chrome is required.
  • Users should not encounter any unhandled errors or warnings while browsing the website.
  • The entire project must be launched with a single command line to run an autonomous container provided by Docker. Example: docker-compose up --build or make.

Modules

To attain 100% project completion, a minimum of 7 major modules is required. Two Minor Modules are equivalent to one Major Module.

Web

  • Major module: Use a Framework as backend.
    • Django
  • Minor module: Use a front-end framework or toolkit.
    • Bootstrap
  • Minor module: Use a database for the backend.
    • PostgreSQL
  • Major module: Store the score of a tournament in the Blockchain.

User Management

  • Major module: Standard user management, authentication, users across tournaments.
  • Major module: Implementing a remote authentication.

Gameplay and User Experience

  • Major module: Remote players.
  • Major module: Multiplayers (more than 2 in the same game).
  • Major module: Add Another Game with User History and Matchmaking.
  • Minor module: Game Customization Options.
  • Major module: Live chat.

AI-Algo

  • Major module: Introduce an AI Opponent.
  • Minor module: User and Game Stats Dashboards.

Cybersecurity

  • Major module: Implement WAF/ModSecurity with Hardened Configuration and HashiCorp Vault for Secrets Management.
  • Minor module: GDPR Compliance Options with User Anonymization, Local Data Management, and Account Deletion.
  • Major module: Implement Two-Factor Authentication (2FA) and JWT.

Devops

  • Major module: Infrastructure Setup for Log Management.
  • Minor module: Monitoring system.
  • Major module: Designing the Backend as Microservices.

Graphics

  • Major module: Use of advanced 3D techniques.

Accessibility

  • Minor module: Support on all devices.
  • Minor module: Expanding Browser Compatibility.
  • Minor module: Multiple language supports.
  • Minor module: Add accessibility for Visually Impaired Users.
  • Minor module: Server-Side Rendering (SSR) Integration.

Server-Side Pong

  • Major module: Replacing Basic Pong with Server-Side Pong and Imple- menting an API.
  • Major module: Enabling Pong Gameplay via CLI against Web Users with API Integration.

References

Footnotes

  1. Setting up a venv for a Django project

ft_transcendence's People

Contributors

angelamcosta avatar

Watchers

 avatar

ft_transcendence's Issues

main backend API

User Management Microservice

This microservice handles registration, login and user auth.

  • Successfully registers a user with a unique alias and securely hashed password.
  • User input validation is implemented to ensure secure and valid data.
  • Allows users to log in and receive a JWT token.
  • Allows users to log out and invalidates their session.

make JWT auth into a microservice

JWT Microservice Tokens

The issue #1 added JWT token authentication. However; it would be more appropriate for it to be its own service. It should be possible for the JWT microservice to:

  • Create a fresh JWT token.
  • Verify an already-existing JWT token.
  • Make an active JWT token invalid.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.