Week 1 Computer Science Capstone Project
This is the first official week of the CST499 Capstone Project, and it’s been a very productive start. I’m pleased with the progress made so far.
This week, I finalized the research on building a low-cost, limited-scope HIPAA-compliant platform. After several team meetings and discussions with our project advisor, Dr. Lara, we decided on the final tech stack. My main contributions focused on setting up the backend (Node.js + Express), the frontend (React + Vite), and the database (PostgreSQL), all hosted on Render.
I created a Render account to deploy the frontend, backend, and initialize a blank database. Render allows for future HIPAA-compliant hosting, but the actual activation of full HIPAA compliance will be determined by the client.
To test visual connectivity between the frontend and backend, I built an initial "sudo" homepage. I also implemented authentication services by integrating Auth0 for identity and access management. This setup supports Google login, Apple ID (developer mode), and standard email/password sign-ins. Auth0 was a great choice since it offers strong branding options, a modern interface, and simplified authentication.
I also reached out to the client to define some UI/UX elements—specifically, the color palette and typography. This will help the rest of the team design additional pages consistently using a shared CSS module. Finally, I configured a custom domain for the client, ensuring less complication and early pre-staged production for services on Render, Google Cloud, and Auth0.
Next week, I plan to continue developing the Admin Portal, implement HIPAA security features, and sync the database between Render and Auth0 for post-login actions. I will also update the backend to expose admin endpoints and create a small Admin UI in React. This UI will be protected by Auth0 role checks and allow the admin to view users from PostgreSQL, change roles or flags, and manage accounts through the Auth0 Management API.
The main challenge right now (if any) is collecting complete content for the website. The team plans to meet with the client soon to help organize and gather shared documents, images, and any other materials needed for the site.
No comments:
Post a Comment