A collaborative Project. The team consists of:
Dragos @dragoshiz
Vlad @Vangirov
Pablo @Pandaero
Max @mwagner86
Trung @Alohakaloha
In this major module, you are required to utilize a specific web framework for your backend development, and that framework is Django
Use a front-end framework or toolkit.
Your frontend development will utilize the Bootstrap toolkit
The designated database for all DB instances in your project is PostgreSQL.
This choice guarantees data consistency and compatibility across all project components and may be a prerequisite for other modules, such as the backend Framework module.
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
In this major module, the goal is to implement the following authentication system: OAuth 2.0 authentication with 42 . Key features and objectives include:
◦ 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
◦ Develop server-side logic for the Pong game to handle gameplay, ball movement, scoring, and player interactions.
◦ Create an API that exposes the necessary resources and endpoints to interactwith the Pong game, allowing partial usage of the game via the Command-Line Interface (CLI) and web interface.
◦ Design and implement the API endpoints to support game initialization, playercontrols, and game state updates.
◦ Ensure that the server-side Pong game is responsive, providing an engagingand enjoyable gaming experience.
◦ Integrate the server-side Pong game with the web application, allowing usersto play the game directly on the website.
◦ Develop server-side logic for the Pong game to handle gameplay, ball movement, scoring, and player interactions.
◦ Create an API that exposes the necessary resources and endpoints to interact with the Pong game, allowing partial usage of the game via the Command-Line Interface (CLI) and web interface.
◦ Design and implement the API endpoints to support game initialization, player controls, and game state updates.
◦ Ensure that the server-side Pong game is responsive, providing an engaging and enjoyable gaming experience.
◦ Integrate the server-side Pong game with the web application, allowing users to play the game directly on the website.
This major module aims to elevate the Pong game by migrating it to the server side, enabling interaction through both a web interface and CLI while offering an API for easy access to game resources and features.
◦ Offer customization features, such as power-ups, attacks, or different maps, that enhance the gameplay experience.
◦ Allow users to choose a default version of the game with basic features if they prefer a simpler experience.
◦ Ensure that customization options are available and applicable to all games offered on the platform.
◦ Implement user-friendly settings menus or interfaces for adjusting game parameters.
◦ Maintain consistency in customization features across all games to provide a unified user experience.
It is possible to have two distant players. Each player is located on a separated computer, accessing the same website and playing the same Pong game.
◦ 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.
https://www.youtube.com/watch?v=jXU_1GADENQ
https://github.com/ayounes9/elk-on-docker
laradock/laradock#1699 (comment)
Run sudo sysctl -w vm.max_map_count=262144
in the terminal, not in the docker
redis: image: "redis:latest" container_name: "redis" ports: - "6501:6379" networks: - t_network