- reddit-like msg board with file uploading
- UWA Student Marketplace
- Lost and found system
| UWA ID | Name | GitHub Username |
|---|---|---|
| 23903382 | Anthony Do | zephris |
| 24038633 | Shuo Li | DAZAI0336 |
| 23830475 | zhirui chen | zhiruiChen1 |
This project requires Python 3.13 and the following packages:
- Flask
- Flask-SQLAlchemy
- Flask-SocketIO
Optional (recommended for production websocket performance):
- eventlet
- Create and activate a virtual environment:
python -m venv .venv./.venv/Scripts/Activate.ps1
- Install dependencies:
./install_deps.sh
- Run the app:
python app.py
Multiplayer lobbies use Socket.IO to keep all clients in sync. The flow is:
- The game page embeds
data-lobby-idand the client connects to Socket.IO. - Client emits
join_lobbywith the lobby id. - Server joins the client to room
lobby_<id>. - When any player performs an action (roll/buy/skip/build/sell/reset), the server emits
game_state_updatedto the lobby room. - Each client then calls
/game/<game_id>/stateto render their own personalized HTML.
Events:
- Client -> Server:
join_lobby{ lobby_id } - Server -> Client:
game_state_updated{ game_id }