040126
Github Commit 1
-
Managed to create baseline for the python backend: Set up the initial server entry point (
main.py) and integrated core web framework dependencies. -
Established Basic backend and frontend functions: Configured route handlers (
/termsandconditions,/loginsuccess,/map,/reserveration), authentication flows viabcrypt, and user interface elements built with NiceGUI. -
Established a temporary transfers file: Created a local flat-file mechanism (
transfers.txt) to simulate baseline user data persistence and record management.
Github Commit 2
-
Removed redundant functions: Removed
firefly_user_options()as it served no functional purpose in the active runtime context (retaining the option to refactor and re-implement in future iterations). -
Added teacher data parsing: Developed
firefly_read_teacher_names()to parsetransfers.txt, handling line-by-line reading for registration credentials and throwing error exceptions (FileNotFoundError) when expected record files are missing.
Stumbling Blocks
-
File Upload Handling & Validation: File transfers did not behave as expected. The certificate upload component failed to validate incoming file types—allowing executables, plain text, and HTML files to bypass filtering and improperly advance the user to the next route anyway.
-
Framework Selection Overhead: Initially attempted to build the web application using Django, but encountered environment execution issues across multiple setups. Pivoted to NiceGUI as an actionable alternative framework.
-
Data Structuring & Organization Deficits: Attempted to automate user file organization, but hit a roadblock with data separation. The logic was unable to isolate distinct record fields (
TEACHER_NAME,TEACHER_FACULTY,TEACHER_PASSWORD), resulting in data being written sequentially line-by-line. This caused key collisions, duplicate entries, and auth failure during login processing.
Reflective Comments
Overall, I was able to isolate problematic system features and debug structural flaws in the codebase. Had I been more decisive about committing to NiceGUI earlier—rather than losing time attempting to troubleshoot Django—I could have prevented many of these logic errors from surfacing late in development. Additionally, the early authentication and file-handling logic remains quite basic and will require further refactoring to safely handle full application workflows within NiceGUI.
Resources and Code Used
-
NiceGUI: Primary Python web framework used to construct UI components, routing, Leaflet maps, calendars, and page events.
-
Standard & Third-Party Libraries: Utilized standard library modules (
os,datetime,resource,json) alongside external packages such asbcryptfor password hashing and salting. -
Dependencies: Additional runtime requirements and system packages are documented in
requirements.txt.