|
1 | | -# Course Matrix |
| 1 | +# Release Plan |
2 | 2 |
|
3 | | -## Iteration 01 |
| 3 | +## Release Name: Course_Matrix_V1.1.0 |
4 | 4 |
|
5 | | -- **Start date**: 02/15/2025 |
6 | | -- **End date**: 03/07/2025 |
| 5 | +## 1. Release Objectives for Sprint 2 |
7 | 6 |
|
8 | | ---- |
| 7 | +### 1.1 Goals |
9 | 8 |
|
10 | | -## 1. Process |
| 9 | +- Part 2 of user registeration and login: |
| 10 | + - User password change |
| 11 | + - User account deletion |
| 12 | + - Username + email display via dropdown menu |
11 | 13 |
|
12 | | -### 1.1 Roles & Responsibilities |
| 14 | +- Expand database schemas to support additional timetable customization and AI assistant interactions by February 28, 2025 |
13 | 15 |
|
14 | | -#### **Epic 1: Scheduler** |
| 16 | + - **`timetable` schema**: |
| 17 | + - The `timetables` table should have columns for `id`, `created_at`, `timetable_title`, `user_id`, and `updated_at`. |
| 18 | + - The `course_events` table should have columns for `id`, `created_at`, `calendar_id`, `updated_at`, `event_name`, `event_date` , `event_start`, `event_end`, `event_description`, and `offering_id`. |
| 19 | + - The `user_events` table should have columns for `id`, `created_at`, `event_name`, `event_description`, `event_date` , `event_start`, `event_end`, `calendar_id`, and `updated_at`. |
15 | 20 |
|
16 | | -**Team Members:** Austin, Minh, Thomas |
| 21 | +- Develop enhanced scheduling features for the demo by March 7th, 2025: |
| 22 | + - Ability to insert, update, and delete timetable and events entries (course events for offered lectures, tutorial, etc and user events for users’ personal events) . |
| 23 | + - Automatic and customized timetable generation based on user constraints. |
| 24 | + - Custom colour customization for timetable entries. |
| 25 | + - Favourite timetable functionality. |
17 | 26 |
|
18 | | -- Develop a calendar interface that allows users to add, modify, and delete both custom entries and predefined course entries. |
19 | | -- Implement an algorithm that optimally schedules events based on user preferences and constraints. |
| 27 | +- Build AI-powered assistant features: |
| 28 | + - AI chatbot interface enabling users to create, rename, and delete chat logs. |
| 29 | + - Retrieval of course information and program requirements from the database. |
20 | 30 |
|
21 | | -#### **Epic 2: AI Assistant** |
| 31 | +### 1.2 Metrics for Measurement |
22 | 32 |
|
23 | | -**Team Members:** Kevin, Masa |
| 33 | +- **Database Schema Expansion** |
| 34 | + - Ensure the `timetable` schema supports new features. |
| 35 | + - Verify referential integrity and indexing for efficient queries. |
24 | 36 |
|
25 | | -- Develop an AI-powered chat interface that enables direct Q&A interactions between users and the AI. |
26 | | -- Ensure seamless integration with the scheduling system to provide intelligent recommendations and assistance. |
| 37 | +- **Timetable Management** |
| 38 | + - Users can create, modify, and delete timetables and event entries without errors. |
| 39 | + - Timetable generation respects user constraints (e.g., time preferences, course exclusions). |
| 40 | + - Custom colour selections persist across sessions. |
| 41 | + - Favourite timetables are stored and retrievable. |
27 | 42 |
|
28 | | -#### **Note Taking & Documentation** |
| 43 | +- **AI Assistant Features** |
| 44 | + - Users can create, rename, and delete chat logs. |
| 45 | + - AI fetches course details and program requirements exclusively from the internal vectorized database. |
| 46 | + - AI does not use web-based or non-course-related information. |
29 | 47 |
|
30 | | -**Team Members:** Minh and Thomas |
| 48 | +## 2. Release Scope |
31 | 49 |
|
32 | | -- Take notes during stand-ups. |
33 | | -- Create sprint 2 documentation: `iteration-plan-02`, `RPM`, and `sprint-02 review`. |
34 | | -- Update the System Design Document. |
| 50 | +- **Timetable Management** |
| 51 | + - Add, update, and delete timetables and event entries. |
| 52 | + - Generate an optimized schedule based on user preferences. |
| 53 | + - Customize timetable entry colours. |
| 54 | + - Favourite timetables for quick access. |
35 | 55 |
|
36 | | -_All team members are collectively responsible for supporting each other to achieve the sprint goals and develop a working prototype._ |
| 56 | +- **AI Assistant** |
| 57 | + - AI-powered chatbot with interactive Q&A. |
| 58 | + - Retrieval of course and program requirement details. |
| 59 | + - Chat log creation, renaming, and deletion. |
37 | 60 |
|
38 | | ---- |
| 61 | +### 2.2 Excluded Features |
39 | 62 |
|
40 | | -### 1.2 Events |
| 63 | +- Multi-user timetable sharing. |
| 64 | +- AI recommendations for schedule optimization. |
| 65 | +- Integration of web-based course information retrieval. |
| 66 | +- Push notifications for schedule changes. |
41 | 67 |
|
42 | | -#### **Initial Planning Meeting** |
| 68 | +### 2.3 Bug Fixes |
43 | 69 |
|
44 | | -- **Location:** Virtual |
45 | | -- **Time:** 2/16/2025 |
46 | | -- **Purpose:** |
47 | | - - Review sprint 2 requirements. |
48 | | - - Define tasks and responsibilities for each team member. |
| 70 | +None |
49 | 71 |
|
50 | | -#### **Stand-Up Meetings** |
| 72 | +### 2.4 Non-Functional Requirements |
51 | 73 |
|
52 | | -- **Location:** Online or in-person (based on availability). |
53 | | -- **Time:** |
54 | | - - Every **Tuesday** from **12 PM – 1 PM** |
55 | | - - **Friday & Sunday** from **9 PM – 10 PM** |
56 | | -- **Purpose:** |
57 | | - - Progress updates: What has each member done since the last stand-up? |
58 | | - - Determine next steps and deadlines. |
59 | | - - Discuss blockers and possible solutions. |
| 74 | +- **Performance** |
| 75 | + - AI assistants should respond within 5 seconds per query. |
| 76 | + - Timetable generation should not exceed 10 seconds under typical load. |
60 | 77 |
|
61 | | -#### **Final Review Meeting** |
| 78 | +### 2.5 Dependencies and Limitations |
62 | 79 |
|
63 | | -- **Location:** Online |
64 | | -- **Time:** 3/6/2025 |
65 | | -- **Purpose:** |
66 | | - - Review features and deliverables implemented in sprint 2. |
67 | | - - Identify changes for sprint 3. |
| 80 | +- The AI assistant relies solely on the internal course database and does not fetch web-based content. |
| 81 | +- Users must be logged in to access timetable and chat features. |
68 | 82 |
|
69 | | ---- |
70 | 83 |
|
71 | | -### 1.3 Artifacts |
72 | 84 |
|
73 | | -#### **Product Backlog** |
74 | | - |
75 | | -- Updated backlog with completed and pending items. |
76 | | - |
77 | | -#### **Sprint Backlog** |
78 | | - |
79 | | -- Features and tasks completed during Sprint 2. |
80 | | - |
81 | | -#### **User Stories** |
82 | | - |
83 | | -- _Example:_ "As a user, I want to edit my account details so that I can update my information easily." |
84 | | - |
85 | | -#### **Burndown Chart** |
86 | | - |
87 | | -- Visual representation of progress. |
88 | | - |
89 | | -#### **Code Repository** |
90 | | - |
91 | | -- [Repository Link](https://github.com/UTSC-CSCC01-Software-Engineering-I/term-group-project-c01w25-project-course-matrix) (Branches and commits related to Sprint 2). |
92 | | - |
93 | | ---- |
94 | | - |
95 | | -## 2. Product |
96 | | - |
97 | | -### 2.1 Goal and Tasks |
98 | | - |
99 | | -#### **1. Develop product features for the product demo:** |
100 | | - |
101 | | -- **Account Management** |
102 | | - |
103 | | - - [_Account Editing_](https://cscc01-course-matrix.atlassian.net/jira/software/projects/SCRUM/boards/1/backlog?selectedIssue=SCRUM-95) |
104 | | - - [_Account Deletion_](https://cscc01-course-matrix.atlassian.net/jira/software/projects/SCRUM/boards/1/backlog?selectedIssue=SCRUM-28) |
105 | | - |
106 | | -- **Epic 1: Scheduler** |
107 | | - |
108 | | - - [_Timetable Basics/Insertion_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-46) |
109 | | - - [_Entries Update/Delete_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-47) |
110 | | - - [_Timetable Generation_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-52) |
111 | | - - [_Entries Visualization_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-50) |
112 | | - - [_Entries Colour Customization_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-51) |
113 | | - - [_Timetable Favourite_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-57) |
114 | | - |
115 | | -- **Epic 2: AI Assistant** |
116 | | - - [_Creation of New Chats_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-36) |
117 | | - - [_Chatlog Export/Rename/Delete_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-37) |
118 | | - - [_Course Info Retrieval_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-29) |
119 | | - - [_Program Requirements Retrieval_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-30) |
120 | | - |
121 | | -#### **2. Create Sprint 2 Documentation** |
122 | | - |
123 | | -- [_Sprint 2 Documentation_](https://cscc01-course-matrix.atlassian.net/browse/SCRUM-119) |
124 | | - |
125 | | ---- |
126 | | - |
127 | | -### 2.2 Artifacts |
128 | | - |
129 | | -#### **Pages/Features** |
130 | | - |
131 | | -##### **Registration/Login** |
132 | | - |
133 | | -- Dropdown menu displaying username and associated email. |
134 | | -- Functional password reset and account deletion features. |
135 | | - |
136 | | -##### **Scheduler** |
137 | | - |
138 | | -- Home page for creating new timetables. |
139 | | -- Timetable management: |
140 | | - - Insert, update, and delete both course entries and custom user entries. |
141 | | -- Algorithm for automated timetable generation. |
142 | | -- Hover effect: Calendar highlights selected course entry. |
143 | | -- Custom colour selection for timetable entries. |
144 | | -- Option to favourite timetables for quick access. |
145 | | - |
146 | | -##### **AI Assistant** |
147 | | - |
148 | | -- Functional AI chatbot interface with chat log creation, editing, and deletion. |
149 | | -- AI retrieves relevant course information and program requirements from the course database. |
150 | | -- AI strictly uses the internal course database without relying on external or irrelevant information. |
0 commit comments