TLC
Abstract
TLC is a community driven tool to help you keep track of maintenance intervals.
For whatever you like - car, house, computer, or even your shoes - load a Schedule and you’ll get notified when it’s time to give it some attention. Whenever you update your TLC History, we’ll automatically set the next reminder for you.
Have a unique trinket and can’t find a Schedule to fit it’s needs? TLC lets you create your own and share it with other users.
If you decide to sell your well cared for belonging, TLC can generate a maintenance report to show to potential buyers and even transfer the history to their TLC account!
Author
Name: Caleb Aitken
Student number: 45309414
Functionality
- User Accounts
- User Account Access Control (login, logout, etc.)
- Schedules
- Store a database of schedules, each schedule defines a set of maintenance activities and intervals
- Users can perform CRUD operations on schedules they own, browse publish schedules, make their own schedules public, share schedules privatly (i.e. by link), fork schedules they don’t own, and add instructions to maintenance activities.
- Items
- Associates a schedule to a user account, under a user-given name
- Users can CRUD on items associated with their account
- Schedule History
- Associate a completed maintenance activity and date to an item
- Users can perform CRUD on history of items associated with their account, share the history (as a report or a link), and export the history for other accounts to add.
- Notifications
- Push notifications to user
- Users will receive notifications for maintenance activities that are due soon (i.e. 7 days in advance), TLC will find clustered maintenance activities and combine them into a single reminder (i.e 2 activities in the same month will be grouped if the next is 6 months away), due dates will automatically update based on the schedule interval and the last time the maintenance activity was completed (even if it was completed early)
Scope
For an MVP:
- User accounts
- Create private schedules (no community driven aspect)
- Update maintenance history and keep track of the next maintenance activity
- Group and send notifications
- Generate maintenance history report
Quality Attributes
Reliability: If the system were to miss important reminders / maintenance activities, or does not provide timely alerts, damage to physical property may occur. For this reason up-to-date and accurate data should always be available.
Availability: Maintenance history should always be available to users, on any device. For example, users may update the history on their laptop, but view notification on their phone.
Scalability: User activity is likely to spike on a weekly scale, as most people would perform maintenance on weekends. Because of this the system must be able to scale so dynamic load balance can be utilised.
Evaluation
Reliability: functional tests at high/low load.
Availability: up-time / monitoring tools.
Scalability: Load testing, throughput monitoring.