Emircan Kaymaz |
Talha Acikgoz |
Eyüp Kemal Karaoğlu |
Sarp Erkiralp |
Alp A. Yalman |
- Docker: docker-compose up --build (rootless mode for security)
- Backend Module ruby -> Django (Backend module)
- Database -> PostGre (Database module)
- Frontend Module vanilla -> bootstrap (FrontEnd module)
- Single page
- Google chrome latest stable up-to-date version
- Pong, same keyboard input (Remote player module)
- propose a tournament
- registration system (standard user management module)
- matchmaking system
- (front-end module)
- (Graphics module)
- ness test
- Hashing (in database for password)
- Protection SQL injections/XSS
- HTTPS
- Validation form for user input on the server side.
- .env file must be out.
Total score: 30%
- Django.
- Bootstrap
- PostgreSQL
- Users can subscribe to the website in a secure way.
- Registered users can log in in a secure way.
- Users can select a unique display name to play the tournaments.
- Users can update their information.
- Users can upload an avatar, with a default option if none is provided.
- Users can add others as friends and view their online status.
- User profiles display stats, such as wins and losses.
- Each user has a Match History including 1v1 games, dates, and relevant details, accessible to logged-in users.
- Integrate the authentication system, allowing users to securely sign in.
- Obtain the necessary credentials and permissions from the authority to enable a secure login.
- Implement user-friendly login and authorization flows that adhere to best practices and security standards.
- Ensure the secure exchange of authentication tokens and user information between the web application and the authentication provider.
- The user should be able to send direct messages to other users.
- The user should be able to block other users. This way, they will see no more messages from the account they blocked.
- The user should be able to invite other users to play a Pong game through the chat interface.
- The tournament system should be able to warn users expected for the next game.
- The user should be able to access other players profiles through the chat interface.
- Implement Two-Factor Authentication (2FA) as an additional layer of security for user accounts, requiring users to provide a secondary verification method, such as a one-time code, in addition to their password.
- Utilize JSON Web Tokens (JWT) as a secure method for authentication and authorization, ensuring that user sessions and access to resources are managed securely.
- Provide a user-friendly setup process for enabling 2FA, with options for SMS codes, authenticator apps, or email-based verification
- Ensure that JWT tokens are issued and validated securely to prevent unauthorized access to user accounts and sensitive data.
- Advanced 3D Graphics: The primary goal of this module is to implement advanced 3D graphics techniques to elevate the visual quality of the Pong game. By utilizing ThreeJS/WebGL , we aim to create stunning visual effects that immerse players in the gaming environment.
- Immersive Gameplay: The incorporation of advanced 3D techniques enhances the overall gameplay experience by providing users with a visually engaging and captivating Pong game.
- Technology Integration: The chosen technology for this module is ThreeJS/WebGL . These tools will be used to create the 3D graphics, ensuring compatibility and optimal performance.
- Implement support for a minimum of three languages on the website to accommodate a broad audience.
- Provide a language switcher or selector that allows users to easily change the website’s language based on their preferences.
- Translate essential website content, such as navigation menus, headings, and key information, into the supported languages.
- Ensure that users can navigate and interact with the website seamlessly, regardless of the selected language.
- Consider using language packs or localization libraries to simplify the translation process and maintain consistency across different languages.
- Allow users to set their preferred language as a default choice for subsequent visits to the website.
Total score: 110%
