Week 2 - Course and Student Management
Week 2 - Course and Student Management
In Week 2, I focused on enhancing the platform with features for managing courses and students, as well as improving content management capabilities. Highlights include setting up routes for blogs, videos, and courses, creating a student login system, and integrating Cloudinary for efficient image storage and management.
Day 8: Routes for Viewing Blogs and Videos
To improve content accessibility, I created the routes to view all blogs and videos in a user-friendly layout. This route retrieves data from the MySQL database and renders it on dedicated blog and video pages.
Day 9: Course Creation and Management
I added a route for admins to create and manage the courses offered. The course management system allows admins to add course details, including the course title and description making it easier to expand the platform’s offerings.
Day 10: Student Creation and Enrollment
My next step was setting up a route for student creation, enabling admins to enroll students in specific courses. This feature includes CRUD functionalities so that admins can add, view, update, or delete students as needed.
- Student Enrollment - Each student must be assigned to at least one course upon creation.
- Admin Access - Only admins can access the full range of CRUD functionalities to manage student information.
Day 11: Student Login and Dashboard
I created a student login page where students can use credentials generated by the admin to access their dashboard. The dashboard provides students with their enrolled course materials, making it easy for them to view and access content.
- Student Login - A secure login system with unique credentials.
- Student Dashboard - Displays course materials and updates specific to each student’s enrollment.
Day 12: Integrating Cloudinary for Image Storage
To manage blog images more efficiently, I integrated cloudinary for cloud storage, which stores images online instead of locally. By storing only the image URLs in the database, we reduced server load and improved scalability.
- Image Storage - Images are uploaded to Cloudinary, and the returned URL is saved in theMySQL database.
- Efficient Management - Images can be accessed anywhere, reducing load times and server storage requirements.
Day 13: Deleting Images from Cloudinary
Initially, I encountered challenges deleting images from Cloudinary. After some troubleshooting, I was able to implement the destroy function, which removes the image from both Cloudinary and the database.
Day 14: Prospective Student Registration
I developed a registration page where prospective students can submit their details and select their preferred course. Once submitted, these details are stored in the database and available for admin review.
- Registration Form - Collects student details, including name, email, phone number, selected course, and country.
- Admin Review - Admins can view registered students and approve them, marking them as enrolled students.
Conclusion
Week 2 was productive, with key functionalities for course and student management established, as well as efficient content storage using Cloudinary. This progress has improved the platform's scalability and laid a foundation for a more interactive experience for users and admins alike.
Technologies Used
- Flask - Web framework for routing and server-side logic.
- MySQL - Database for storing student, course, and content data.
- Cloudinary - Cloud storage for efficient image management.
- HTML/CSS - Structuring and styling web pages.
- Bootstrap - For responsive design elements.
Like this, stay tuned for next week's update.