Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imadmi/transcendence-

This project aims to create an online gaming & chatting platform.
https://github.com/imadmi/transcendence-

nestjs nextjs postgresql prisma-orm tailwindcss

Last synced: about 1 month ago
JSON representation

This project aims to create an online gaming & chatting platform.

Awesome Lists containing this project

README

        


Overview


This project aims to create a comprehensive online gaming platform with a focus on playing Pong versus other players. The website is designed with security, functionality, and user experience in mind.



Technology Stack



  • Backend: NestJS

  • Frontend: TypeScript framework of your choice

  • Database: PostgreSQL

  • Deployment: Docker with a single launch command: docker-compose up --build



Development Guidelines



  • Use the latest stable versions of all libraries and frameworks.

  • Ensure the website is a single-page application for smooth navigation.

  • Compatibility with the latest stable version of Google Chrome and one additional web browser of your choice.

  • No unhandled errors or warnings during website browsing.



Security Concerns



  • Passwords stored in the database must be hashed.

  • Protection against SQL injections.

  • Implement server-side validation for forms and user input.

  • Utilize a strong password hashing algorithm.

  • Store sensitive information in a local .env file, not in version control, to avoid security risks.



User Account Management



  • Login using the OAuth system of 42 intranet.

  • Choose a unique display name and upload an avatar.

  • Enable two-factor authentication (e.g., Google Authenticator or text message).

  • Add other users as friends, view their status, and display stats on the user profile.

  • Maintain a Match History for 1v1 games, ladder, and other useful information.



Chat Functionality



  • Create public, private, or password-protected chat channels.

  • Send direct messages to other users.

  • Block other users to avoid receiving messages.

  • Channel owners/administrators can manage channel settings, including passwords and user permissions.

  • Invite other users to play Pong through the chat interface.

  • Access other players' profiles within the chat interface.



Pong Game Integration



  • Play live Pong games directly on the website.

  • Implement a matchmaking system for automatic player pairing.

  • Offer customization options such as power-ups or different maps.

  • Ensure the game is responsive, considering network issues like disconnection or lag.



# Project Screenshots

https://github.com/imadmi/web_project/assets/81130422/c249c4c6-47a8-400d-87eb-6c5c5b6539c1

https://github.com/imadmi/web_project/assets/81130422/1a824437-bfcb-432c-9ded-7a390022e297

## Landing Page

![Landing Page](https://github.com/imadmi/web_project/assets/81130422/38a14040-ecc5-4fa6-b8ee-c7f2db63f69d)

## Sign Up
![Sign Up](https://github.com/imadmi/web_project/assets/81130422/569fed33-1fa3-44ce-b302-815654cfbdae)

## Sign In
![Sign In](https://github.com/imadmi/web_project/assets/81130422/35ce686b-46e6-4a43-81b9-4545673b9083)

## Profile
![Profile](https://github.com/imadmi/web_project/assets/81130422/ebd7dc79-111b-45ab-bf88-2ee15b0ca695)

## Notifications
![Notifications](https://github.com/imadmi/web_project/assets/81130422/58241cad-8c3c-4edb-9128-6e600ac724d4)

## Leaderboard
![Leaderboard](https://github.com/imadmi/web_project/assets/81130422/ab77325f-afac-411b-921c-527a090840ce)

## Friends
![Friends](https://github.com/imadmi/web_project/assets/81130422/0e85a84a-e0be-48ee-95c7-c0fa043193c8)

## Channels
![Channels](https://github.com/imadmi/web_project/assets/81130422/755e82e6-5c58-4dcd-9f7d-4b367bf2396c)

## Chat
![Chat](https://github.com/imadmi/web_project/assets/81130422/559fd6c1-7961-49b4-ab05-9b2cc6580e33)

## Game
![Game](https://github.com/imadmi/web_project/assets/81130422/df754423-7f09-46fb-bdae-47660e64ba4c)