Multiplayer game using client-server architecture.
This is a full stack Javascript app using websockets for communication between the client and server (No Restful APIs :P). I have used some ES6 syntax for ease of development and therefore it will not work on all browsers.
Technologies used for the client:
-
Socket.io
-
Vanilla JS with a flux-like architecture. I plan to integrate React.js.
-
RandomColor.js for the wonderful colors in the grid.
-
Bootstrap and jQuery because I am lazy.
Technologies used on the server:
-
Node.js.
-
Express.
-
Socket.io.
Assumptions:
-
Min matrix value for a game is 1x1 and max is 10x10 because we are storing everything in memory right now (LOL).
-
We are using browser alerts liberally on the client.
-
Timeouts are predefined by the server.
-
I have a Pythonic opinion about comments. Minimal and the code should be clear and understandable without it.
Things to do:
-
Currently are storing everything in memory as a PoC. We need to move to some sort of persistant storage.
-
Better session management in case the same user returns to the page.
-
Handling of higher order matrixes.
-
Unique URLs for each room so that users can share and invite people to a game.
-
Better error handling.
-
Leaderboard.