Code Ninjas
Ten months after graduation, I finally deployed our team’s final project, Code Ninjas, to the web. It wasn’t easy; I had to find a way to turn our MongoDB database into an accessible API, which I finally managed with mLab and Heroku.
I also had trouble deploying the front end, because Heroku just didn’t want to play nice with the Webpack config we’d created. To solve this problem, I created a whole new app with create-react-app, copied all the components, assets and reducers over, and managed to deploy to Heroku without a hitch by letting CRA handle the Webpack config in the background, and cutting the list of Code Ninja's dependencies in half into the bargain.
The moral of this story is to always use CRA to start your React projects. Always always always.
Please have fun playing our little game! I’ve realised by playing it through a few times that some of the questions are a little strangely worded and quite possibly even outdated by now, but please remember that Team JSKids (yes, that was our team name, and we love it) built this whole thing in two weeks, and half the team had never used Redux before then.
Postscript #1
Since first writing this, I've deployed Code Ninjas v2, a reskinned version of the same site with the same questions, but now with level select!
Postscript #2
This little project is now over six years old. Imagine that! However, with the demise of both mLab and Heroku's free tier, it's had to find a new home. The database is on MongoDB Atlas, the API is on fly.io, and the front end will be hosted by Netlify.
Version 3 contains some major updates to both the database and the design. Please enjoy the ninja references I've added. All previous versions of the front end are now within the same codebase, on separate branches.
Further reading
thanks for reading! Joey x