A web application focused on replicating the classic Pong game. It includes features like real-time multiplayer gameplay, tournaments, and user management for a competitive and engaging experience.
game.mov
Warning
🔴MORE VIDEOS AND IMAGES BELOW AT THE GALLERY SECTION!🖼️🖼️🖼️
- Backend powered by Django
- Frontend built with Vue.js and styled using Bootstrap
- Data storage using PostgreSQL database
- Blockchain integration for secure and transparent tournament results
- Real-time gameplay with WebSockets for remote players
- Tournaments and local match support for competitive and casual play
- Friends system to connect and play with others
- User & game statistics dashboards for insightful analytics
- Log management via the ELK Stack (Elasticsearch, Logstash, Kibana)
- Monitoring & alerting with Prometheus and Grafana
- Microservices architecture with RESTful APIs
- Responsive design for seamless use across devices
- Multilingual support for a global user base
Before installing and running the project, make sure the following are available on your system:
- Docker
- Docker Compose
- Make (for running setup commands)
- .env file with the required environment variables
2. (OPTIONAL) Set a variable if you want to be available to your network. If not set, it defaults to localhost
.
export IP_ADDR="{YOUR_IP}"
3. (OPTIONAL) You can also change the SSL_CERT_FILE and SSL_CERT_KEY in the .env to add your own certificate paths. If you don't specify them, a self-signed certificate (selfsigned.crt and selfsigned.key) will be generated by default.
SSL_CERT_FILE="{YOUR_FILE_CRT_PATH}"
SSL_CERT_KEY="{YOUR_FILE_KEY_PATH}"
make
Note
If you completed step 2 of the Installation and Configuration, use the first option below. if you set your own IP_ADDR environment variable then access via:
https://{YOUR_IP}:8000
https://{YOUR_IP}:4000
if you have not set IP_ADDR then use:
https://localhost:8000
https://localhost:4000
Important
If you did not set your own certificate, a self-signed one will be generated. This may trigger a warning that the connection is not secure — it's safe to proceed. Open both URLs and accept the certificate.