Tim's Portfolio
Tai Pan Server
Please visit timstaipanserver.ca to play (if you know the password).
Before the Covid-19 pandemic, my friends and I would often get together to play Ti Chu, or Tai Pan, which is my favourite card game that I've ever played. When the pandemic came, we suddenly had no way to play anymore. We had heard of various platforms for playing card games online, but they seemed expensive or unsatisfactory.
So, drawing upon my experience in Full-Stack Web Development, I created a web-app from scratch so we could keep playing cards. The web-app lives at timstaipanserver.ca, but is password-protected.
Both the front-end and back-end are written TypeScript. The front-end uses React for rendering the user interface, and the back-end runs on Node. The two ends communicate using websockets for maximum interactivity. The server is hosted using Amazon Web Services and HTTPS certification is kindly provided by Let's Encrypt.
The full source code is available on GitHub. You are welcome to fork the project and make your own card games.
Design Considerations
The web-app has a fairly minimal understanding of the rules of gameplay, and relies on the players being able to hear each others' voices over a separate phone call. This was a deliberate choice. Putting the players' voices first rather than the controls of the UI keeps the gameplay natural and social, especially when we lose several minutes at a time to story-telling and jokes.