Skip to content

Commit f8adc57

Browse files
Ms/scrum 127 update sprint 3 documentation (#72)
Co-authored-by: MasahisaSekita <[email protected]> Co-authored-by: minhhaitran08 <[email protected]>
1 parent ad6c9c3 commit f8adc57

17 files changed

+266
-0
lines changed

doc/sprint3/RPM.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Release Plan
2+
3+
## Release Name: Course_Matrix_V1.3.0
4+
5+
## 1. Release Objectives for Sprint 3
6+
7+
### 1.1 Goals
8+
9+
- Develop enhanced scheduling features:
10+
11+
- Ability to insert, update, and delete timetables and events entries (course events for offered lectures, tutorials, etc and user events for users’ personal events) .
12+
- Automatic and customized timetable generation based on user constraints.
13+
- Custom colour customization for timetable entries.
14+
- Favourite timetable functionality.
15+
- Timetable Export/Share
16+
- Timetable compare
17+
- Email Notifications
18+
19+
- Build upon AI-powered assistant:
20+
21+
- Timetable Generation via AI.
22+
- AI Chatbot refinement.
23+
24+
- Project Deployment:
25+
26+
- Project has a usable dockerfile
27+
- Project is running on a VM instance
28+
- Project on update is automatically tested
29+
- Project auto redeploys on update
30+
31+
- Integration Test Cases:
32+
- Project functions will have integration unit tests written for them
33+
- Project functions will pass integration unit tests written for them
34+
35+
### 1.2 Metrics for Measurement
36+
37+
- **Timetable Management**
38+
39+
- Users can create, modify, and delete timetables and event entries without errors.
40+
- Timetable generation respects user constraints (e.g., time preferences, course exclusions).
41+
- Custom colour selections persist across sessions.
42+
- Favourite timetables are stored and retrievable.
43+
- User generated timetables can be exported
44+
- Stored timetables can be compared to one another if the user has access to them.
45+
- Email notifications are sent to user based on upcoming timetable events
46+
47+
- **AI Assistant Features**
48+
49+
- AI can be queried to generate a timetable for the user based on a list of courses and a list of time restrictions
50+
51+
- **Deployment Features**
52+
- Project when deployed is deployed using a docker image
53+
- Project when deployed is accessible online on a virtual Machine
54+
- Project when updated is automatically unit tested
55+
- Project when updated and passing unit tests is auto-redeployed
56+
57+
**Integration / Unit Testing**
58+
59+
- Project functions are unit tested so that their behaviour is clear and potential bugs are caught
60+
- Project functions passes unit tests so bug free functionality is ensured
61+
62+
## 2. Release Scope
63+
64+
- **Timetable Management**
65+
66+
- Add, update, and delete timetables and event entries.
67+
- Generate an optimized schedule based on user preferences.
68+
- Customize timetable entry colours.
69+
- Favourite timetables for quick access.
70+
- Export/Share timetables
71+
72+
- **AI Assistant**
73+
74+
- AI-Powered timetable generation
75+
76+
- **Deployment**
77+
- Project runs on a docker image
78+
- Project is accessible on the web while running on a VM instance
79+
- Project on update is automatically tested
80+
- Project auto redeploys on update that passes tests
81+
82+
### 2.2 Excluded Features
83+
84+
### 2.3 Bug Fixes
85+
86+
- Fix module importing linting errors
87+
- Fix Restriction creation bugs
88+
- Fix text highlight on edit username
89+
90+
### 2.4 Non-Functional Requirements
91+
92+
- **Performance**
93+
- 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).
94+
- Timetable generator algorithm returns suggested timetables based on users' input within 5-10 seconds for a standard course load of 5 courses.
95+
96+
### 2.5 Dependencies and Limitations
97+
98+
- 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.
99+
- The Timetable relies solely on the internal course database and installed dependencies. It does not fetch web-based content.
100+
- Unit testing relies solely on internal functions and installed dependencies. It does not fetch any web-based content.
101+
- 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.
25.5 KB
Loading
5.79 KB
Loading

doc/sprint3/images/Burndown.png

25.7 KB
Loading
167 KB
Loading
21.7 KB
Loading
29 KB
Loading
19.4 KB
Loading
79.6 KB
Loading
53.5 KB
Loading

0 commit comments

Comments
 (0)