🃏 UNO Web-Based Multiplayer Game🔗
Overview🔗
This project is a web-based multiplayer UNO game .
Just like UNO, each player take turns to select a card to play, until one of the players have no cards left. For the user's convenience, unavailable cards to play are not selectable.
It incorporates technologies to ensure scalability, security, and performance, making it robust enough to handle real-time multiplayer interactions.
🛠️ Key Technologies🔗
- Kubernetes: Managed containerized applications, enabling seamless scaling to support an increasing number of players, handling high player concurrency.
- Docker: Containerized all services to ensure consistency and simplify deployment.
- MongoDB: Used as the database to store game states in a structured and efficient manner.
- OAuth: Integrated with OAuth login for authentication and security purposes. Users are expected to log into their Duke account to play the game.
Some Game Settings🔗
export interface Card {
id: CardId
rank: typeof RANKS[number]
suit: typeof SUITS[number]
locationType: LocationType
playerIndex: number | null
positionInLocation: number | null
}
Project Structure🔗