-
Notifications
You must be signed in to change notification settings - Fork 2
Ms/scrum 127 update sprint 3 documentation #72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
2082fd3
8f21179
67bfe4b
5f6df61
7b93045
f782429
9300df0
1479dd1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,100 @@ | ||
| # Release Plan | ||
|
|
||
| ## Release Name: Course_Matrix_V1.3.0 | ||
|
|
||
| ## 1. Release Objectives for Sprint 3 | ||
|
|
||
| ### 1.1 Goals | ||
|
|
||
| - Develop enhanced scheduling features: | ||
|
|
||
| - Ability to insert, update, and delete timetable and events entries (course events for offered lectures, tutorial, etc and user events for users’ personal events) . | ||
| - Automatic and customized timetable generation based on user constraints. | ||
| - Custom colour customization for timetable entries. | ||
| - Favourite timetable functionality. | ||
| - Timetable Export/Share | ||
| - Timetable compare | ||
| - Email Notifications | ||
|
|
||
| - Build upon AI-powered assistant: | ||
|
|
||
| - Timetable Generation via AI. | ||
| - AI Chatbot refinement. | ||
|
|
||
| - Project Deployment: | ||
|
|
||
| - Project has a usable dockerfile | ||
| - Project is running on a VM instance | ||
| - Project on update is automatically tested | ||
| - Project auto redeploys on update | ||
|
|
||
| - Unit Testing; | ||
| - Project functions will have unit tests written for them | ||
| - Project functions will pass unit tests written for them | ||
|
|
||
| ### 1.2 Metrics for Measurement | ||
|
|
||
| - **Timetable Management** | ||
|
|
||
| - Users can create, modify, and delete timetables and event entries without errors. | ||
| - Timetable generation respects user constraints (e.g., time preferences, course exclusions). | ||
| - Custom colour selections persist across sessions. | ||
| - Favourite timetables are stored and retrievable. | ||
| - User generated timetables can be exported | ||
| - Stored timetables can be compared to one another if the user has access to them. | ||
| - Email notifications are sent to user based on upcoming timetable events | ||
|
|
||
| - **AI Assistant Features** | ||
|
|
||
| - AI can be queried to generate a timetable for the user based on a list of courses and a list of time restrictions | ||
|
|
||
| - **Deployment Features** | ||
| - Project when deployed is deployed using a docker image | ||
| - Project when deployed is accessible online on a virtual Machine | ||
| - Project when updated is automatically unit tested | ||
| - Project when updated and passing unit tests is auto-redeployed | ||
|
|
||
| – **Unit Testing** | ||
|
|
||
| - Project functions are unit tested so that their behaviour is clear and potential bugs are caught | ||
| - Project functions passes unit tests so bug free functionality is ensured | ||
|
|
||
| ## 2. Release Scope | ||
|
|
||
| - **Timetable Management** | ||
|
|
||
| - Add, update, and delete timetables and event entries. | ||
| - Generate an optimized schedule based on user preferences. | ||
MasahisaSekita marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - Customize timetable entry colours. | ||
| - Favourite timetables for quick access. | ||
| - Export/Share timetables | ||
|
|
||
| - **AI Assistant** | ||
|
|
||
| - AI-Powered timetable generation | ||
|
|
||
| - **Deployment** | ||
| - Project runs on a docker image | ||
| - Project is accessible on the web while running on a VM instance | ||
| - Project on update is automatically tested | ||
| - Project auto redeploys on update that passes tests | ||
|
|
||
| ### 2.2 Excluded Features | ||
|
|
||
| ### 2.3 Bug Fixes | ||
|
|
||
| - Fix module importing linting errors | ||
| - Fix Restriction creation bugs | ||
| - Fix text highlight on edit username | ||
|
|
||
| ### 2.4 Non-Functional Requirements | ||
|
|
||
| - **Performance** | ||
| - AI output refinement. The AI chatbot responses need to be more reliable and cover more cases (e.g. querying for the year level of courses). | ||
MasahisaSekita marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ### 2.5 Dependencies and Limitations | ||
|
|
||
| - The AI assistant relies on querying an external vector database and open AI. Bothe of these are online resources so if they are down our feature will be down as well. | ||
| - The Timetable relies solely on the internal course database and installed dependencies. It does not fetch web-based content. | ||
| - Unit testing relies solely on internal functions and installed dependencies. It does not fetch any web-based content. | ||
| - The deployment relies on fetching the latest project version from github and (if it passes all unit tests) deploys the latest version on our google cloud virtual machine instance. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,165 @@ | ||
| # Course Matrix | ||
|
|
||
| ## Iteration 03 | ||
|
|
||
| - **Start date**: 03/8/2025 | ||
| - **End date**: 03/21/2025 | ||
|
|
||
| ## 1. Process | ||
|
|
||
| ### 1.1 Roles & Responsibilities | ||
|
|
||
| #### Epic 1: Scheduler | ||
|
|
||
| **Team Members:** Austin, Minh, and Thomas | ||
|
|
||
| - Develop a calendar interface that allows users to retrieve, add, modify, and delete timetables and events both user custom event entries and predefined course entries. | ||
| - Develop an algorithm that optimally schedules events based on user preferences and constraints. | ||
| - Develop an algorithm that emails notification its users based on upcoming timetable events | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To add on what Minh wrote, email notification also is not an algorithm |
||
| - Develop custom color customization so that users can select what colors they want for different courses | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "colours" to make spelling of the entire document more consistent |
||
| - Develop a calendar interface that allows users to export and share their timetables with other users | ||
| - Develop an algorithm that allows users to compare two different timetables together | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think this is an algorithm but an Interface. They will select 2 timetables from a drop down and it will display the 2 timetables side to side for comparison |
||
| #### Epic 2: AI Assistant | ||
|
|
||
| **Team Members:** Kevin | ||
|
|
||
| - Develop an AI-powered chat interface that takes a list of courses and a list of time constraints and generates a possible user timetable fulfilling the given requirements. | ||
| - Refine AI-powered chat interface so that querying for database information is more reliable and understandable | ||
|
|
||
| - **Note taking & Documentation**: Minh, Masahisa, and Thomas | ||
| - Taking notes during stand-ups | ||
| - Create sprint 2 documentation: iteration-plan-02, RPM, and sprint-02 review | ||
| - Update System Design Document | ||
|
|
||
| In addition to their specific roles, all team members have a collective responsibility to support and assist other team members to ensure that the goals (listed in section 2.1) are achieved and develop a working prototype. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be moved to the very end |
||
|
|
||
| #### Epic 3: Deployment | ||
|
|
||
| **Team Members:** Masahisa | ||
|
|
||
| - Create a dockerfile such that our application can be run on a docker image with application setup being done automatically. | ||
| - Ensure that our application’s docker image runs on a VM instance accessible on the web. | ||
| - Ensure that our deployed project automatically redeploys when a new version of our application is pushed that passes all unit testing. | ||
|
|
||
| #### Epic 4: Unit Testing | ||
|
|
||
| **Team Members:** Austin | ||
|
|
||
| - Create unit tests for our application functions (timetable, ai assistant, user stories, etc.) such that their functionality is clear and bug free. | ||
|
|
||
| #### 1.2 Events | ||
|
|
||
| - **Initial planning meeting**: | ||
|
|
||
| - Location: Virtual | ||
| - Time: 3/8/2025 | ||
| - Purposes: | ||
| - Go over the sprint 3 requirements | ||
| - Define tasks and responsibilities for each team member | ||
|
|
||
| - **Stand up meeting**: | ||
|
|
||
| - Location: Online or in-person depending on members availability | ||
| - Time: Every Tuesday from 12 pm to 1 pm, Thursday and Sunday from 9 pm to 10 pm | ||
| - Purposes | ||
| - Progress updates: What has each member done since the last stand-up | ||
| - Determine the next steps and deadlines | ||
| - Discuss current blockers and possible solutions | ||
|
|
||
| - **Final review meeting** | ||
| - Location: Online | ||
| - Time: 3/21/2025 | ||
| - Purposes: | ||
| - Review features and deliverables implemented in sprint 3 | ||
| - Determine changes that need to be made in sprint 3 | ||
MasahisaSekita marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| #### 1.3 Artifacts | ||
|
|
||
| - Our team will track the progress through Jira | ||
|
|
||
| - Each user story will be uploaded to Jira as a ticket: | ||
|
|
||
| - Categorized in the backlog by its epic, and execution sprint | ||
|
|
||
|  | ||
|
|
||
| - Ticket details include: estimated story point to determine its priority, assignees | ||
|
|
||
|  | ||
|
|
||
| - Tickets of large user stories will be broken down into smaller child issues | ||
|
|
||
|  | ||
|
|
||
| - Each ticket will also show: | ||
|
|
||
| - Other tickets blocked by it | ||
|
|
||
|  | ||
|
|
||
| - Other tickets blocking it | ||
|
|
||
|  | ||
|
|
||
| - Additional tasks required during the development process will also be submitted as a task ticket on JIRA for tracking. | ||
| - Students or groups of students will be assigned first to epic and then to the specific user story. | ||
| - Workflow | ||
|
|
||
|  | ||
|
|
||
| - Furthermore, we will implement a Burndown Chart, which will be included as `burndown.pdf` by the end of the sprint. This chart will also feature comments on the sprint's progress and a velocity comparison. | ||
| - Below is an example Burndown Chart from Sprint 0: | ||
|
|
||
|  | ||
|
|
||
| ## 2. Product | ||
|
|
||
| #### 2.1 Goal and Tasks | ||
|
|
||
| **1. Develop product features for the product demo:** | ||
|
|
||
| - _Epic 1: Scheduler_ | ||
|
|
||
| - Timetable Basics/Insertion: [SCRUM-46](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-46) | ||
| - Entries Update/Delete: [SCRUM-47](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-47) | ||
| - Timetable Generation: [SCRUM-52](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-52) | ||
| - Entries Visualization: [SCRUM-50](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-50) | ||
| - Entries Colour Customization: [SCRUM-51](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-51) | ||
| - Timetable Favourite: [SCRUM-57](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-57) | ||
| - Timetable Export/Share: | ||
| [SCRUM-58](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-58) | ||
|
|
||
| - _Epic 2: AI Assistant_ | ||
|
|
||
| - Timetable Generation via AI: | ||
| [SCRUM-31](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-31) | ||
| - Refine AI outputs: | ||
| [SCRUM-132](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-132) | ||
|
|
||
| - _Epic 3: Deployment_ | ||
| - Project Deployment: | ||
| [SCRUM-130](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-130) | ||
|
|
||
| **3. Create sprint3 documentation:** | ||
| [SCRUM-127](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-127) | ||
|
|
||
| #### 2.2 Artifacts | ||
|
|
||
| ### Pages/Features | ||
|
|
||
| #### Scheduler | ||
|
|
||
| - Timetable management: insertion, updating, and deletion of timetables and events (course entries and custom user entries). | ||
| - Algorithm for automated timetable generation. | ||
| - Hover effect: calendar highlights selected course entry. | ||
| - Custom colour selection for timetable entries. | ||
| - Option to favourite timetables for quick access. | ||
| - Option to share/export timetable to other users | ||
| - Option to compare two separate timetables | ||
| - Option to send email notifications on upcoming timetable events | ||
|
|
||
| #### AI Assistant | ||
|
|
||
| - Ability to generate an optimal timetable based on a list of courses and time restrictions | ||
| - Refined AI outputs so that all database information can be quickly obtained by the user | ||
Uh oh!
There was an error while loading. Please reload this page.