Are you overwhelmed by heavy assignmnets? Are you bombarded everyday with countless emails reminding you to do tasks, are you confused and have no time to organize deadlines? AssignMate is here to help! It’s the best companion, it automatically schedules your assignment deadlines before receiving the notifications. It’s the best study tool when you’re swamped, letting it enter into your academic life.
UQ AssignMate is a kind of smart task reminder system desgined for UQ srtudents. The system automatically scrapes assignment information from UQ courses websites both Announcements page and Assessment page, collects deadlines for assignments of each subject, then helps student manage assignments time schedule throughout the whole semester. UQ students have right to customize reminders, edit individual tasks, add and delete assignment notifications, and directly access the submission page with one click if necessary. In addition, the system offers a defult 48-hour reminder function. The quality attributes that the project forcus on are: Availability, Reliability and Maintainability. Ensure the system operates stably and adapt to the changes in uq cource website, making it more efficient and easy to maintain.
Name: Yuting Yao
Student number: 48773351
The system will use scheduled web scraping technique,retrieving assignment details from uq courses website automatically and regularly. The key details include course notification, assessment specification, and assingment title, due time, submit links.The system uses static and dynamic page parsing techniques to extract assignment information, while also extracting key details from both structured and unstructured text. In the event of website structure changes or network request failures, the system is equipped with error detection and fault tolerance mechanisms to handle such problems.
Default 48-hour reminder: After integrating all information, the system will automatically remind users via email 48 hours before the assignment submission deadline. Subject administrators no longer need to individually email students about assignment schedules. Instead, they simply need to post notifications on the course website’s announcement and assessment pages. AssignMate will then retrieve this information and send out unified email reminders, streamlining the handling of various assignment details.
Customize reminders: Students can manually adjust the timing of reminders (which can be hours in advance, days or even weeks) according to their own plan. It also allows you to set recurring reminders and highlight markers to prevent students from missing important assignments.
Assignment task list: Present assignments for the current semester through a clear interface. The system can be displayed according to the certain time or course, and students can choose their own page template. By default, tasks are prioritized (e.g.,tasks with imminent deadlines are placed at the top). Page information includes job title, due date, and remining time.
Edit & manage tasks: Students can manually add, modify, or delete assignment activities, which allows students to personalize their plan. At the same time, each task can be marked as “progressing” or “completed” based on the submission status of the assignments, assisting uq students track the progress of assignments.
Access submission page: A quick link to the corresponding submission page is embedded in each assignment task, allowing students to directly access to the official UQ submission page to submit assignments with one click. This one-click mode facilitates the time and process for students to complete their assignment tasks.
Cloud Database: The data of cloud storage jobs can be dynamically expanded and contracted according to demand, supporting efficient queries. At the same time, it is important to ensure that even in the event of a hardware failure, the data is still recoverable.
Manage user data: Students’ assignment data, reminder settings, and other information are stored in a database that can be synced across devices.
Maintain systems at all times, use automated backups to prevent loss of data, and enable fast recovery in the event of failure. Use load balancing to prevent bottlenecks during high usage. Additionally, the system should be able to send reminders for jobs on time, use redundant notices (email + push notices) so that users do not miss important reminders. For security of data, encryption is applied to protect user data, vulnerability scanning is done regularly, and security updates are done regularly to keep the system secure.
Core functionalities: Create a responsive web interface where users can log in and see assignments.
Schedule scraping of UQ course websites to dynamically update assignment details.
Sent default 48-hour deadline notifications in advance with adjustment options.
Allow users to handle tasks (add assignments, edit assignments, delete assignments).
Directly access to the submission pages.
Availability: Developed on high availability architecture for 99% uptime. Has self-recovery mechanisms for failure recovery from crashes of scrapers and databases.
Reliability: Ensures data consistency through integrity checks to prevent incorrect or incomplete assignment information. Employs logging mechanisms for monitoring notification and scraping status.
Maintainability: Follos modular code architecture for simplicity of future expansion and maintenance. Provides full API documentation and unit tests for maintaining code quality.
Availability Analysis: System uptime monitoring: Maintaining a minimum of 99% uptime. Scraping success rate: Achieving 95%+ accuracy in scraping daily tasks.
Reliability Testing: Data consistency checking: Comparing 100 assignments and UQ course websites, with margin of error below 5%. Delivery success rate of notifications: Measuring and tracking the success rate of delivering notifications at 95%+.
Performance & Scalability Testing: Load testing: Testing 1000 concurrent users with response times under 2 seconds. Database query optimization: Maintaining query response times below 200ms. User Experience Evaluation: User survey of feedback: Collecting feedback from 50 users, aiming for 80%+ satisfaction. Feature usage analytics: To analyze the usage patterns to enhance the UI/UX design.