|
| 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. |
0 commit comments