Skip to content

A nice Pong Game with local, normal and tournament mode.

License

Notifications You must be signed in to change notification settings

Alphacharge/transcendence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

transcendence

Overview

Welcome to "transcendence" a dynamic and feature-rich project aimed at enhancing the gaming experience with a focus on the following modules:

Backend Framework

  • Major Module: Use a Framework as Backend (TypeScript): Employs TypeScript as the backend language, leveraging its strong typing and modern features to enhance the development process.

Frontend Framework

  • Minor Module: Use a Front-end Framework or Toolkit (Vue): Utilizes Vue.js as the frontend framework, providing a reactive and component-based approach for building interactive user interfaces.

Database

  • Minor Module: Use a Database for the Backend (PostgreSQL): Implements PostgreSQL as the backend database, ensuring data persistence and efficient query capabilities.

User Management

  • Major Module: Standard User Management, Authentication, Users Across Tournaments: Implements standard user management functionalities, including authentication, and allows users to participate in various tournaments.

  • Major Module: Implementing Remote Authentication: Enhances user authentication by implementing a secure remote authentication mechanism.

  • Major Module: Remote Players: Introduces the concept of remote players, allowing users to engage with opponents remotely.

  • Minor Module: User and Game Stats Dashboards: Develops user-friendly dashboards that provide insights into individual gaming statistics, outcomes, and historical data.

  • Major Module: Implement Two-Factor Authentication (2FA) and JWT: Strengthens user account security by introducing Two-Factor Authentication (2FA) and utilizing JSON Web Tokens (JWT) for secure authentication and authorization.

Accessibility

  • Minor Module: Expanding Browser Compatibility: Ensures a broader user base by expanding browser compatibility, allowing users to access the application seamlessly across different web browsers (Chrome and Firefox).

  • Minor Module: Multiple Language Supports: Enhances accessibility by supporting multiple languages, accommodating a diverse international audience (de, en, it).

Gaming

  • Major Module: Replacing Basic Pong with Server-Side Pong and Implementing an API: Elevates the gaming experience by migrating the basic Pong game to the server side, providing an API for easy access to game resources and features.

Getting Started

git clone https://github.com/Alphacharge/transcendence.git
cd transcendence
//edit the .env file and fill out your data
make

Technologies Used

  • docker
  • docker compose
  • make
  • nestjs
  • vue.js
  • chart.js
  • Bootstrab
  • oauth
  • 2fa over GoogleAuthenticator
  • postgresql

Contributors

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

Acknowledgments

  • Thank you to the 42 school for providing the opportunity to work on this project.
  • Inspiration from various UNIX shells and open-source projects.

Feel free to contribute, report issues, or suggest improvements! Happy coding!