← Back to Blogs

Week 4 - Library and Content Management

Week 4 - Library and Content Management

Week 4 - Library and Content Management
October 19, 2024 Nwahiri Daniel

In Week 4, I focused on creating a shared library resource, integrating Google Drive for content management, and improving user accountability with admin logs. Additionally, I enhanced the user creation process by sending welcome emails to new users using smtplib in python, streamlining communication.

Day 20: Developing a Library Page

I created a library page that provides a centralized resource hub for all logged-in users, including admins and students. This page displays books and other learning materials,enhancing resource accessibility.

* Library Display - This route queries all items from the `library_books` table in the database and displays them on the library page.

* Access Control - Ensures only logged-in users can access the library page using the @login_required decorator.

Day 21: Google Drive Integration for Library Management

To make library management easier for superadmins, I integrated Google Drive for uploading, updating, and deleting resources. Google Drive serves as a backend for storing large files, with only metadata (like file name and link) stored in the database.

Day 22: Adding Admin Logs for Monitoring Actions

I implemented an admin logging feature that tracks important actions, like adding or deleting content. These logs help superadmins monitor platform activity, promoting accountability.

Day 23: Welcome Emails with Login Details Using smtplib

I enhanced the user creation process by sending a welcome email with login credentials to new students and to new admins. This feature simplifies onboarding for students and admins.

Conclusion

Week 4 introduced crucial content management features, enhanced user onboarding, and improved admin monitoring. The integration of Google Drive, admin logs, and welcome emails has made the platform more user-friendly and manageable.

Technologies Used

- Flask - For server-side functionality.

- MySQL - For managing user data and library items.

- Google Drive API - For managing large files and storing them securely.

- smtplib - For sending automated welcome emails.

- HTML/CSS - Structuring and styling the library and log pages.