So after some deliberation during our team meeting this week we came to a couple key decisions, namely about technology and architecture. We have decided to implement the server RESTful API as an in-between for the mobile application and the blockchain. We also decided with certainty that we will be using Flutter for the mobile application, Node.js for the server-side, and Hyperledger Sawtooth for the blockchain. Nobody else on the team has experience making a RESTful API, and I have taken a CS 493, where we deployed such a server using Node.js on the gcloud platform. So there will be an interesting dynamic early on in our project, namely creating Frankenstein’s monster.
The current plan, from my understanding, is to take the code I have for a server API and bastardize it as we see fit to fit our needs. From there, I will be making the mobile application from scratch using Flutter libraries for anything too complicated, like the integration of QR-code reading and generation. This shouldn’t take too much effort, but it will probably be fairly unwieldy and unorganized to start, which I guess is somewhat natural. The server side will undoubtedly be extremely awkward for the first portion of the winter term, especially considering that the other group members will likely be working on that portion. The blockchain section will basically not be touched by me, which I’m fine with because I would rather focus on expanding the skills I already have. But this leaves the majority of the project in this really funny state of being put together out of bastardized code that I have written for other classes, just trying to get it to all fit together. While I’m sure there will be more to it than that, its still interesting to think about how all of my classes have come together to this point and how useful the skills I have picked up along the way are.