Since my last update (the status update at the end of CST489), I have thankfully made significant progress on the project. In fact, the core deliverables outlined in my project scope are essentially complete.
As a brief reminder, I'm (solo project) building an online staff portal for Nyamboyo Technical School(NTS), an African nonprofit organization who strives to educate rural Kenyan youth and young adults adults modernized, technical and vocational skills.
Here is the progress I made since the previous update:
• I finally deployed the portal via Render, as a single, monolithic service as was planned. I was experiencing significant challenges configuring my project structure in a manner that wouldn't trigger Render's error code for Node applications. Specifically, Render wants the 'app' folder to be in the same directory of the Next.js installation, which for me wasn't really feasible, given the custom structure I began with from the beginning of development. Even still, I tried refactoring everything into a more friendly structure for Render and it still failed. That's when I realized I could containerized the project with Docker and then deploy it to Render as a Docker app rather than a Node app without having to worry about the strict structural expectations on Render. After containerized containerized Docker, I successfully deployed to Render.
• I also completed and deployed the first version of the third and final core deliverable for my capstone, the student health application. The student health app was successfully plugged into the portals authentication system and deployed to the live service after preliminary testing.
• In deploying the student health app, I was also able to establish a proper continuous deployment pipeline for myself and future developers who work with NTS, solving the maintainability issue that NTS' original staff portal had (more details of this are in my proposal). Future developers will now simply branch off of main for building their features and configure the environmental variables. Then, when done with development and testing, they merge their branch into main, which will now automatically deploy the changes to the live service.
• The portal was of course tested further to confirm security, stability and functionality with the two live apps.
Looking forward, the next stage of my capstone is extensive user testing, debugging, and improvements to UI/UX. I know for certain that the portal can benefit from more features, such as expanding those in the profile page and perhaps adding specialized features for admins (for instance, to manage staff accounts).
I am currently in contact with my supervisor (the 'client') to set up a live training session with school staff in Kenya, to help them learn how to use the portal and discuss further improvements.