🥚 EGG: The Ethereum Guessing Game! Can you see the future? Then you'll win mad internet fame by playing EGG. Guess what you think the price of Ethereum will be before the round ends and whoever guesses closest wins the round!
Now for the marketing version:
An innovative real-time e-sports guessing game that leverages the Ethereum decentralized platform empowering players to deliver best-of-breed analysis of future market trades! (ICO coming soon)
I split up the back/frontend so there are 2 repos:
- Backend: https://github.com/dennyferra/PusherContest
- Frontend: https://github.com/dennyferra/PusherContestFront
I started out not really knowing what I wanted to build but I knew what stack I wanted to use: Node/Express, React/MobX. I built a few MobX projects prior to this and I was interested in trying out some features of MobX that I hadn't used before. I was very limited with time so the code is quite unorganized, slapped together with duct tape and marshmallows, and likely has bugs (no tests), but I might revisit it at a later time and clean things up.
I stumbled on CodeSandbox and ended up writing the frontend entirely using their online editor. It's a really nice editor, feels like VS Code, and they have support for various frameworks like React, Angular, Vue, and Preact.
Interestingly enough the easiest part of this project was using Pusher. I had a presence channel and public channel set up in no time at all. Their documentation made it pretty easy to get set up. My only issue was the auto-reloading of CodeSandbox - it ended up keeping channels open so I inadvertently hit the 100 concurrent users limit. After I realized what was going on I changed a setting in CodeSandbox to fully reload on changes and then my problems were gone.
Hosted the site on Heroku so the Dyno will time out when no users are on the site, but that's unlikely since I'm pretty sure this game will be the next Facebook 🔥 Have fun, thanks!