Monopoly Online is a real-time, multiplayer web implementation of the classic board game, reimagined with a Nepal theme. Built with a modern tech stack, it features 3D dice rolling, live state synchronization, and properties based on famous Nepalese cultural and historical locations.
Note: This project is currently in active development.
- Nepal-Themed Board: Standard properties are replaced with Nepalese landmarks such as Janakpur, Birgunj, Lakeside Pokhara, and Kathmandu.
- Real-Time Multiplayer: Seamless state synchronization using Native WebSockets.
- 3D Dice Rolling: Interactive 3D dice simulation powered by Three.js (
@react-three/fiber). - Lobby System: Create and join games instantly using unique Game IDs.
- Responsive UI: Modern interface built with Tailwind CSS, featuring 3D perspective board animations.
- In-Memory Game State: Fast, transient game storage managed directly by the server.
- Framework: React (Vite)
- Styling: Tailwind CSS
- 3D Graphics: Three.js via
@react-three/fiber&@react-three/drei - Language: JavaScript
- Runtime: Node.js
- Framework: Express.js
- Communication: ws (Native WebSockets)
- Language: TypeScript
To run the project locally, you need to start both the backend server and the frontend client.
- Node.js (v16 or higher recommended)
- npm
The backend manages the game state and WebSocket connections.
cd monopoly-backend npm install npm run dev
The server will start on port 4000.
The frontend provides the game interface.
bash cd monopoly npm install npm run dev The client will start (usually on port 5173). Open the link provided in your terminal to play.
🤝 Contributing Fork the repository. Create a new branch (git checkout -b feature/AmazingFeature). Commit your changes (git commit -m 'Add some AmazingFeature'). Push to the branch (git push origin feature/AmazingFeature). Open a Pull Request.