Skip to content

linasbk/AquaPong-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AquaPong Website πŸ“

Welcome to the AquaPong world! Here πŸš€ , users can play single games of pingpong πŸ“, take part in tournaments, and hone their skills while connecting with other users and tracking their progress and achievements πŸ….

Index

  1. Usage
  2. Technologies Used
  3. Conception
  4. File Structure
  5. Models
  6. Preview
  7. Ressources

Usage

Command Usage You should first modify .env.example and rename it to .env !!

Technologies Used

Part Technology
FrontEnd react tailwind next/js next/js
Server
Containerization Docker
BackEnd Frameworks Django DjangoRestFramework
Languages HTML CSS JS Python
Design figma

Conception

Use Case Diagram

Command Conception

Models

  • Use a Framework as backend
  • This module is really important because it uses a specific web framework in backend development, called Django. It has some great features, like MTV Architecture, which helps you organise your code into Models, Templates, and Views for cleaner, easier-to-maintain applications ORM: Makes database operations easier with Python objects. Admin Panel: Makes it simple to build backend interfaces. Built-in Security: Protects against common web vulnerabilities. Scalability: Makes sure your applications can handle high traffic. Community Support: Gives you access to a rich ecosystem of packages and resources.

  • Use Database for the backend
  • This module ensures the consistency and compatibility of data across the website, which is a prerequisite for the framework module, in this model, we use PostgreSQL an open-source database that uses SQL to store data, and is reliable and robust, and the open-source community behind it is dedicated to delivering innovative solutions.

  • Game Customization Options
  • This module shows how to customize all the games on the platform. We want to: We'll offer customization features like different maps to improve gameplay. Users can choose a simpler version of the game with basic features. All games on the platform should have the same customization features. Users should be able to adjust game settings easily.

  • Standard user management, authentication, users across tournaments
  • This module looks at how users interact with and access the Pong platform. It has two parts. One is about users taking part in different tournaments,The other is about using remote authentication.

  • Live chat
  • In this module, we implement a chat functionality for your users. This enables users to send messages to other users, block them, and invite them to play a Pong game. Furthermore, users should be able to access other players' profiles.

  • User and Game Stats Dashboards
  • In this module, we are creating a system showing statistical data about users and gaming sessions.

  • Minor module: Support on all devices
  • This module guarantees that our site works seamlessly on all devices. It is fully responsive, adapts to different screen sizes and orientations, and provides a consistent user experience on desktops, laptops, tablets, and smartphones. Users can easily interact and navigate the website using different input methods, including touch screens and keyboards.

  • Use of advanced 3D techniques
  • In this model, the ThreeJS framework is employed to facilitate the integration of 3D graphics within the gaming environment. This approach aims to enhance the overall gameplay experience for players through the utilisation of advanced techniques, ensuring compatibility and optimal performance.

  • Remote player
  • This module implements a server-side game to offer the best user experience possible. It allows each distant player to play against another. WebSocket ensures a bidirectional, stable connection between players and the server.

  • Expanding Browser Compatibility
  • The objective of this minor module is to enhance the accessibility of the web application by offering users the option of an additional web browser, thereby providing them with a greater degree of choice in terms of their browsing experience.

  • Major module: Implement Two-Factor Authentication (2FA) and JWT Major module: Implementing a remote authentication
  • The principal objective of this significant module is to reinforce the security of user accounts by providing two-factor authentication (2FA) and by augmenting the authentication and authorisation processes through the utilisation of JSON Web Tokens (JWT).

  • Server-Side Rendering (SSR) Integration
  • The objective of this module is to enhance website performance and search engine optimisation (SEO) by integrating server-side rendering, which facilitates faster page loads and an enhanced user experience.

Preview

LandingPage

Command LandingPage

SignUp

Command SignUp

SignIn

Command SignIn

Settings

Command Settings

Two Factor Auth

Command 2FA

Dashboard

Command Search

Profile

Command Profile

PrivateChat

Command PrivateChat

View Profile

Command ViewProfile

Join Clan

Command ClanJoin

Map

Command Map

Solo Match

Command soloMatch

Tournament

Command Tournament

3D Game

Command Game

File Structure

django_backend
β”‚   β”œβ”€β”€ Dashboard_home
β”‚   β”œβ”€β”€ Sign_up
β”‚   β”œβ”€β”€ chat
β”‚   β”œβ”€β”€ django_backend
β”‚   β”œβ”€β”€ groups
β”‚   β”œβ”€β”€ notification
β”‚   β”œβ”€β”€ playground
frontend
β”‚   β”œβ”€β”€ app
β”‚   β”‚   β”œβ”€β”€ (firstSide)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ signIn
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ signUp
β”‚   β”‚   β”‚   β”œβ”€β”€ landingPage
β”‚   β”‚   β”œβ”€β”€ (playground)
β”‚   β”‚   β”‚   β”œβ”€β”€ playground
β”‚   β”‚   β”‚   β”œβ”€β”€ privateGame
β”‚   β”‚   β”‚   β”œβ”€β”€ tournament
β”‚   β”‚   β”œβ”€β”€ (scondSide)
β”‚   β”‚   β”‚   β”œβ”€β”€ chatPage
β”‚   β”‚   β”‚   β”œβ”€β”€ clanPage
β”‚   β”‚   β”‚   β”œβ”€β”€ gamePage
β”‚   β”‚   β”‚   β”œβ”€β”€ homePage
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ [id]
β”‚   β”‚   β”‚   β”œβ”€β”€ setPassword
β”‚   β”‚   β”‚   β”œβ”€β”€ settingsPage
β”‚   β”‚   β”œβ”€β”€ ErrorPage
β”‚   β”‚   β”œβ”€β”€ api
β”‚   β”‚   β”œβ”€β”€ assets
β”‚   β”‚   β”œβ”€β”€ callback
β”‚   β”‚   β”œβ”€β”€ chat
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”œβ”€β”€ contexts
β”‚   β”‚   β”œβ”€β”€ globalchat
β”‚   β”‚   β”œβ”€β”€ group_chat
β”‚   β”‚   β”œβ”€β”€ styles
β”‚   β”‚   β”œβ”€β”€ utils
β”‚   β”œβ”€β”€ public
β”‚   β”‚   β”œβ”€β”€ clans
β”‚   β”‚   β”œβ”€β”€ gameElement
β”‚   β”‚   β”œβ”€β”€ maps
β”‚   β”‚   β”œβ”€β”€ ranks
β”‚   β”‚   β”œβ”€β”€ soundEffect

Ressources

https://nextjs.org/

https://codevoweb.com/django-implement-2fa-two-factor-authentication/

https://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/#When-to-Use-Refresh-Tokens

https://www.django-rest-framework.org/api-guide/authentication/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published