This commit refactors the LMS architecture from a flat 2-tier structure to a granular 3-tier structure to support better course organization, while ensuring zero downtime or breaking changes for existing frontend clients.
Introduced `CourseChapter` model as the new grouping layer
2 endpoints (`/v2/.../lessons/`): Introduced new `LessonListV2APIView` and `CourseChapterSerializer` to return the new nested JSON schema (Chapters -> Lessons) for the upcoming accordion UI.
Created robust `migrate_lessons_to_chapters` management command.
Registered `CourseChapter` and added `CourseChapterInline` to `CourseAdmin` for seamless content management.
models updated with lock values , course model has two group lock and professor lock options
serializers updated with new fields
admin panel updated for this new fields
signals configured to automatically lock/unlock the chatrooms related to courses based on the boolean values of course
to chat room page navigation shortcut is updated with unfold action buttons instead of html files
- Removed the API documentation README file as it is no longer needed.
- Added a new script to optimize Hadis transmitter chains, ensuring a maximum of 5 transmitters and exactly one gap.
- Enhanced the Hadis data seeding script for better performance with batch operations and duplicate checks.
- Updated utility functions to streamline thumbnail generation and improve code readability.