The BinTracker app currently has the ability to manage and log maintenance performed on waste containers. These waste containers are commonly referred to as "assets". BinTracker already includes functionality for listing assets and editing them individually.
Implement an email reminder system for waste container assets of the BinTracker app.
The following work is proposed:
If there is space available on the app's Navigation Bar (AKA "navbar"), an icon (or link) will be added for viewing all asset reminders. The listing will display the asset name, the date of the reminder (e.g., 'March 1, 2018'), and a 'Delete' button (or link). Upon selecting a reminder, the 'Reminder Form' for the selected asset will be displayed with all reminder data pre-populated in the form.
Upon clicking submit, the reminder data will be saved to the database and the 'Reminder Listing' for all assets will be shown.
If no space is available on the navbar, a 'Reminder Listing' link will be provided from another part of the app accessible to Administrator accounts.
On the 'Reminder Listing' navbar, a 'New' (or '+') icon will be provided for adding an asset reminder.
Upon clicking the reminder from the 'Reminder Listing' or the 'New' (or '+') icon within the navbar, a form will be displayed with the following fields:
-
A select menu labeled 'Asset ID', which contains a list of all assets in the system.
-
A select menu labeled 'Remind me' with the following menu options: 'in 30 Days', 'in 60 Days', 'in 90 Days', 'in 120 Days'. The default label for new reminders will be 'in 30 Days'.
-
A text field labeled 'Reminder text' for entering reminder text, which will be the text that is sent in the email reminder. This field will technically be a "textarea" field that allows for multiple rows of text. 10 rows will be displayed in the field, but the field can accommodate more text, if needed.
-
The Reminder form will include a text field labeled 'Reminder recipient' for adding a single email address, which is the address to which the reminder will be sent.
All fields are required to save a reminder.
Asset reminders will be automated via a daily cron job on the Linux server leased by Impact Plastics (hosted at Digital Ocean). Any reminders set for that day will be emailed to the 'Reminder recipient' email address for that asset's reminder. The subject of the email will state, "Reminder for 'asset name'", with 'asset name' being replaced with the actual name of the asset. The body of the email will contain the 'Reminder text' for a specific reminder.
Upon selecting an asset from the 'Inventory' listing, you'll see a form for editing an asset. On this edit form, add a 'Reminders' link.
Upon clicking the 'Reminders' link from the edit asset form, display a listing of reminders only associated with the specific asset. Upon clicking submit, the reminder data will be saved to the database and the 'Reminder Listing' for the specific asset will be shown.
Upon account renewal, it was discovered that various elements of the Apple account for BinTracker have expired, such as Certificates, Profiles, ID's, et.al. This estimate includes work to reinstate these elements for AppStore submission.