Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(Update v. 1.3.0) Add Courses Feature to the CSXL Application (#222)
* Create Entities for Courses Feature (#183) * Create Course Entity This entity models course data in the CSXL Website. * Complete the Term Entity The Term Entity models terms / semesters in the database. * Create Section Entity and Add Relationships * Add Many-to-Many Relationships for User and Section This commit adds many to many relationships to store students of course sections, as well as instructors for course sections. * Clean Up Associations and Cascading * Update section_entity.py * Add Course Description Field to the Course Entity * Remove Instructor Section Table * Change Section Membership Type to Enum * Modify Fields of Course, Section, and Term Entities * Delete Section-User Relationship Fields * Remove Course Entity Import from Entity __init__ File * Rename Term shorthand Field to id * Rename term_shorthand to term_id in Section Entity * Rename User Section Enum to RosterRole * Rename course_description to description in Course Entity * Add Max String Lengths to Fields in Course Entity * Create Models for Course Feature (#195) * Create Term Model * Add __init__ to Course Models Folder * Add Course Model * Add Section Model * Add Detail Models with Relationships * Add Term Conversion Functions * Add all Conversion Functions * Add SectionStaff Model * Create Services for Course Feature (#196) * Create the Term Service * Fix Course Detail Import in Course Entity * Fix Imports in Section Entity * Fix Conventions in Term Service * Fix Term Service Permissions * Replace TermService.current() with TermService.get_by_date() * Implement Course Service Functions * Implement Section Service Functions * Lay Foundations of Staff Querying * Begin Writing Courses Tests, Create Fixtures * Fix NUMEROUS Importing Headaches >_< * Actually Fix Circular Imports with RosterRole * Fix Permission Service Injection Issues * Reach 100% Test Coverage for Term Service * Update Term Test * Reach 100% Test Coverage for Course Service * Reach 100% Test Coverage for Section Service * Add Staff Relationship Field to SectionEntity * Fix Typing * Implement Section Staff Relationships * Rename SectionStaffUser to SectionMember * Refactor Section Member Model Location * Rename UserSectionEntity to SectionMemberEntity * Move Section ID over User ID in Entity * Rename member_type to member_role * Create APIs for Course Feature (#213) * Add Term APIs * Add Course APIs * Add Section APIs * Remove Extraneous DateTime Imports * Implement Course Catalog and Section Offerings Frontend (#217) * Initialize Courses Module * Add Course Service, Routing, and Resolvers * Add Courses Home Component and Begin Offerings Component * Initial Offerings Page * Add Term Dropdown to Offerings Page * Rename Components, Add Staff to Section Entity * Move Room Entity out of Coworking; Establish 1-M Relationship Between Section and Room * Add Lecture and Office Hours Room Relation to Course Sections * Add Room Module to Courses * Add Rooms to Offerings Frontend * Fix Name of Section Room Table * Fix Section Draft Status * Rename OfferingsComponent to SectionOfferingsComponent * Fix Section Offerings Import * Implement Academics Home Page * Update Title of Section Offerings Component * Remove COMP From Component Card Titles * Fix Comment * Fix Comment in Room Assignment Enum * Change Title of Academic Route in App Routing * Add Credit Hours to Course Catalog Backend and Frontend * Use Relative Import on Section Entity * Refactor TimeRange to App Level on Frontend * Refactor Courses into Academics on Backend and Frontend * Add API Tags for the Academics Feature in FastAPI Docs * Begin Writing Academics Feature Tech Spec Document * Work on Frontend Section of Specs * Complete Frontend Section of Specs * Start Entity Design Section of Tech Specs * Add Entity Table to Docs * Add Academics Technical Specification Document (#221) * Complete Pydantic Model Section * Start API Section * Upload API Images * Add Permission Section * Add Testing Section * Add Future Considerations Section * Add Table of Contents * Implement Admin Features for the Academics Feature (#220) * Add Preliminary Gear Icon * Add showAdminSettingsNavigation to NavigationService * Refactor to PermissionService, Fix Permission Naming * Create Working Gear Prototype * Implement Academics Admin Tabs * Connect Gear to Academics Admin * Implement Course Editor * Fix Issues with Editing Credit Hours * Refactor Delete APIs to Take IDs Instead of Objects * Implement Term Editor * Add Admin Course List * Add Admin Term List * Add Admin Section List * Implement Reactive Updates with RxObjects in Course, Term, and Section Admin Lists * Implement the Section Editor * Create Admin Room Component * Create Backend Room Service * Implement the Room API * Add Room Service Tests * Add Admin Room List * Implement the Room Editor * Connect Section Editor UI to Room List * Implement Room Selection in Section Editor * Fix Delete API Method Not Allowed Error * Add Documentation to Frontend Academics * Fix Import in Reset Demo Script * Remove Extraneous Comment from Room API * Add Documentation for Lecture Room API Workaround * Fix Room API Delete Description * Make Section API Return Statement More Succinct * Fix Section Create API * Hide Term ID Field Upon Edit * Tidying commit with minor changes * Fix Failing Tests * Refactor Roster Role to String Raw Value * Refactor Term Get By Date Service Method * Add Cancel Button to All Editors * Move Admin Edit Functionality to Row * Add Error Handling * Move Admin Edit Functionality to Text and Remove from Row * Minor changes for the academics feature (#224) * Minor changes for the academics feature * Revert enum * Make staff more concise * Add Room SQL To Entity --------- Co-authored-by: Ajay Gandecha <[email protected]> * Add migration for production * Fix test warning about duplicate entities * Cascade delete of SectionRoomEntity from SectionEntity * Add Section Override Fields * Clean Section Editor * Add Override Section Title / Desc to Frontend * Add Sorting to Course / Sections * Fix Course Edit Code Issue * Add New Columns to Migration Script * Fix Issue with Creating New Sections without Any In Db --------- Co-authored-by: Kris Jordan <[email protected]> Co-authored-by: Kris Jordan <[email protected]>
- Loading branch information