As I’ve previously mentioned, we’re using ReactJS and NodeJS for the bulk of what we’ve created so far. What hasn’t been mentioned is how little we knew about this stuff before we dove in. We’re experienced programmers, but the world of asynchronicity has been quite a leap. I have to say, I’m beyond impressed with the performance of our team, not just for how quickly they’ve picked this stuff up, but also for their willingness to adapt.
So, what have we been up to? The picture this post leads with is our “Done” board (not the “Done” column of our active board, but the place where all the “done’s” go to live out their days). The flagship app for MyChattanooga, our 311 Call Center software, has authentication, authorization, the ability to take service requests, assign requests, user management capabilities, attachment handling, address validation… really, quite a lot of the core functionality needed for an app that manages service requests.
Since we’re agile, some of our end-users have been involved from the beginning, but of late we’ve started to meet with more of the 311 Call Center staff. We’re all working together to make software tailored to suit our customers (you!) and the various teams that carry out the work of service requests.
The nerd in me, however, is perhaps most excited about the architecture. Almost every piece is a small component (a microservice) running as a container in our cluster; each piece can be scaled independently to handle load increases. Even the few larger pieces (we’re still using WordPress in “headless” mode to leverage some of its functionality) are also containers and therefore scalable (albeit not with the same surgical-strike accuracy of the microservices). And the ReactJS front-end completely smokes the expensive, vendor-supplied software currently in use.
We scrambled, we audibled, and we’ve played on until we’ve gotten in a rhythm. (Forgive the sports metaphors, but “it’s football time in Tennessee” after all.) Now that we’ve gotten our feet under us and made substantial progress, we’re shifting into a phase that we expect will give us more to report, more often, and be better accommodating of our desire to increase community involvement in this project.