JRR.dev
Database schema diagram for the student and employee clearance module
In ProgressTIMESTAMP: Week 5

WEEK_5:_CLOUD_STORAGE_INTEGRATION_AND_CLEARANCE_SYSTEM_DESIGN

Mr. Anton

Completed additional end-to-end reporting modules for the QAsset project.
Initiated the development of the Clearance Process module for both students and employees.
Architected a normalized database schema adhering to 3NF rules to ensure data integrity.
Designed an approval/rejection workflow for administrators to manage submitted clearances.
Researched AWS S3 bucket implementation for secure document and image storage.
Explored the existing codebase to integrate pre-configured AWS credentials.
Planned the UI/UX for multi-format uploads including images, documents, and external links.

Advanced Reporting and Clearance Architecture

The week began with the finalization of several end-to-end report modules, maintaining the momentum from the previous week's government procurement tasks. Soon after, I was tasked with a critical update to the main LMS: the Clearance Module. This system is designed for both students and employees to submit required documentation for institutional exit or entry. A major focus of my work this week was planning a robust database structure. I strictly followed the Third Normal Form (3NF) to prevent data redundancy, ensuring that student records, document types, and approval statuses remain decoupled and consistent.

Week 5 IMG_3095.jpeg
Week 5 IMG_3100.jpeg
Week 5 IMG_3101.jpeg

Cloud Integration and Document Management

A key technical requirement introduced this week was the use of AWS S3 for file management. Since the clearance module requires students to upload images, PDFs, and other sensitive documents, my mentor suggested moving away from local storage in favor of the cloud. Although the credentials were already present in the codebase, S3 was new to me, so I spent significant time researching the SDK and how to handle multipart uploads securely. This research is foundational for the 'end-to-end' development of the feature, which includes a UI for file selection and a backend that validates these uploads before storing the S3 object key in our PostgreSQL database.

Implementing an approval/rejection system adds a layer of state-management complexity to the backend. Ensuring that an admin's decision instantly updates the student's status while maintaining a clear audit trail of their submitted links and files is my primary objective as I move into the full implementation phase next week.