In 1978 Milton-Bradley, now Hasbro, released an electronic game named Simon. It was cutting edge at the time since there were so few electronic games, and all the cool kids had one.
We are going to build a peer to peer multiplayer web application modeled after Simon. We will build it together by adding new functionality every time we learn a new technology. The example version of code and production deployment for each iteration are available to you. Your job will be to review the example and then deploy it to your production environment. The goal is to make you think about every line of code. Ask, "why is it done this way?" and "Is there a better way?". You can then take what you have learned, or even portions of the Simon code, and apply it to your Startup application.
The objective with Simon is to give you an example application that demonstrates each technology concept so that you can then use that technology in your Startup application.
You should plan on spending 1 to 3 hours reviewing the Simon code. As you review the code take careful notes in your Startup notes.md file about what you have learned.
You can play the example production release here.
The following are the different technologies we are going to demonstrate with our Simon iterations.
| Instruction | Video | Code | Production release |
|---|---|---|---|
| Simon HTML | 🎥 video | code | play |
| Simon CSS | 🎥 video | code | play |
| Simon React P1: Router | 🎥 video | play | |
| Simon React P2: Reactivity | 🎥 video | code | play |
| Simon Service | 🎥 video | code | play |
| Simon DB | 🎥 video | code | play |
| Simon WebSocket | 🎥 video | code | play |
| Simon PWA (optional) | code | play |

