MarioPong.Demo.mp4
This game is a throwback to the classic Pong game, with a Mario design twist. Play alone or with a friend (or three!) by cloning and following the usage instructions.
- Profile settings to upload avatar, opt in/out of 2FA, and update username, email, and password
- Ability to search for other players, view their online/offline status, and check out their dashboards
- Add/remove friends
- Stats and game history
- Options for local single-player, local two-player, local four-player, and remote two-player Pong
- 3D effects for Pong
- Online TicTacToe game
- Json Web Token stored as HTTP-only cookies
- Two-factor authentication using email OTPs
- Vanilla JavaScript and HTML
- Bootstrap and CSS
- Three.js
- Django REST Framework for REST APIs and WebSockets
- PostgreSQL database
- Docker Compose for containerization
- Nginx
- Run
make docker-upin root - Access backend on
http://localhost:8000/ - Access frontend on
https://localhost:80/
- The IP address of your machine is also printed by the backend container.
- Other devices on the same network can access the website through your IP address:
http://<your-ip>:8000/for the backend andhttps://<your-ip>:80/for the frontend.
- Install
http-serverthrough npm or brew (or some other way) - Run
make run-frontend - Access through
http://127.0.0.1:80/
- Make you activate a Python environment and install the packages in
requirements.txt - Run
make run-db. This runs the PostgreSQL container and maps the database todata/in the repository.data/is in.gitignoreand won't be uploaded to Git. - Run
make run-backend - Backend API is available through
http://127.0.0.1:8000/
- Implementing rate limiting or throttling
- Improving responsiveness, cross-browser compatibility, and accessibility
- Using WebSockets for TicTacToe to reduce server load
- Implementing friend requests and inviting friends to play games