Skip to content

Commit d5cbb0e

Browse files
Create RPM.md
RPM.md for our sprint 3
1 parent 2699f2a commit d5cbb0e

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

doc/sprint3/RPM.md

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

0 commit comments

Comments
 (0)