diff --git a/README.md b/README.md index c46716f..954349a 100644 --- a/README.md +++ b/README.md @@ -1 +1,35 @@ -# coding-assignment-iam \ No newline at end of file +# Rock Paper Scissors Game + +## Stack + +I used uvicorn + FastAPI for the backend, and simple JS + HTML + Bulma +CSS for the frontend. + +## Accomplished + +I was able to get the backend mostly done and added the initial page for +the frontend. A game is able to be created, saved, and loaded. A basic +game page exists, but just notifies the player of who is playing. If the +player 2 field is left blank, a player named CPUPlayer is created. + +## Further Improvements + +If given more time, I would have liked to explore creating the full game +UI and revise my design as needed. The main game would have been played +on the frontend, with just the score being tracked on the backend. This +is the design I went with, so no game logic actually exists. + +I thought it would have been cool to use websockets and allow a player +to use a game code from a separate window or computer on the same +network to make a simple online multiplayer version. This would be more +fun since the second player wouldn't be able to see the other's screen. + +The saving mechanism could be improved with an actual SQL/Mongo or +equivalent server. Pickle is generally unsafe because it can cause +remote code execution vulnerabilities, but it was used to save time. + +It was my first time using FastAPI, so there are likely multiple style +and usability improvements that could be utilized with more time. + +Better UI outline and arrangement could also be done, but is limited by +my design skills. I would probably enlist a designer to help with that.