-
Notifications
You must be signed in to change notification settings - Fork 0
Milestone 2
EasyLife is an app/website that residents can use for all aspects of their life in the retirement home. The UI is designed to be intentionally simple, with large fonts and simple icons to improve usability for seniors who are visually impaired or simply technologically inept. There are 5 main features:
Dining Options: EasyLife allows residents to click a “Menu” option from the main menu and view the meal choices for the day. Clicking any one of these options provides a brief description of the meal, along with any allergens. On the admin side, staff with the admin role can add, delete, and modify the meal events.
Calendar: Clicking the “Events” button from the main menu will bring the resident to a weekly calendar, which can also be seen in a daily, weekly or monthly view. This calendar will show all events going on in the home, and provide descriptions when clicked on. From the admin side, staff will have the option to create / edit / delete events from the calendar.
Chat: Clicking the chat icon will bring the user to a chat menu - showing a list of residents, a list of staff (who have messaging turned on), and a search bar. From here, residents can find who they want to chat with and click their name. This will then bring up a text-like interface, allowing text-only messaging. Staff will also be included in this chat feature, however they will be able to choose whether or not they are visible to residents in the chat interface.
Alerts: The app will also have an alert feature in the form of a big red button on the home page of the app. Clicking this will push a notification to the administration and to any nurses assigned to the resident.
Notifications: The app will also have a notifications feature. The administration will be able to send out notifications to all the residents and/or staff through the app. Notifications will also be used to notify individual residents and their nurses that their prescription, medication etc. has run out and that attention is required. It will do this by linking with third party resources like the Canadian health record system.
For the application sign up, only the administration will be able to create, modify or delete accounts. There will be no public facing registration form. All accounts must be created through the admin panel, including staff accounts. From there the admin can set either roles to admin or resident, change names and passwords, etc. For other users to join the app, they will be given a username and password from the admin team to login. The idea is for the front desk of the home to have admin, and for residents to be able to come to the front desk for help when they need it.
Use Case | 1. Resident_Messaging |
Description | Resident wants to message another resident |
Actors | Resident, Messaging Database |
Assumptions | Resident knows the first and last name of the Resident they want to message |
Steps |
|
Variations | |
Non-functional | Performance Mean: A message sent to another resident, should be sent to the other resident within 1 second |
Issues | Should there be other mediums of messages a resident can send to another resident? (ie. images, audio, video, etc.) |
Use Case | 2. Resident_Check_Event_Schedule |
Description | Resident wants to check upcoming events for a specific time period |
Actors | Resident, Events Database |
Assumptions | Resident knows the time period they want to check upcoming events for |
Steps |
|
Variations | |
Non-functional | Performance Mean: Events should be acquired from the Database and displayed to the user in under 3 seconds |
Issues | How can we create a simple and intuitive interface to allow seniors to effectively navigate the upcoming events for a certain time period? |
Use Case | 3. Add_Meals |
Description | Admin wants to add meal events |
Actors | Admin, Events Database |
Assumptions | Admin knows what meals are being offered and has correct permissions |
Steps |
|
Variations | #3c: Admin adds menu options or Admin updates existing options or Admin deletes an existing option |
Non-functional | |
Issues | How do residents get notified when a menu option is updated? When is the deadline to finalize meal options before the meal is served? |
Use Case | 4. Update_Schedule |
Description | Admin wants to update schedule |
Actors | Admin, Events Database |
Assumptions | Admin has the correct and updated schedule for the upcoming events |
Steps |
|
Variations | #4b: Admin can add event or Admin can update an existing event or Admin deletes existing event |
Non-functional | |
Issues | How do the residents get notified of an event being changed? How late can an event get updated before it is scheduled to occur? |
Use Case | 5. Create_Resident |
Description | The administrator wants to add a resident to the system |
Actors | Admin |
Assumptions | Admin knows information for the resident they want to add to the system (or which resident they want to remove) |
Steps |
|
Variations | #4 and #5: Admin can add a resident or Admin user |
Non-functional | |
Issues | What information should an admin have to enter to register a resident? |
Use Case | 6. Delete_Resident |
Description | The administrator wants to delete a resident from the system |
Actors | Admin |
Assumptions | Admin knows information for the resident they want to add to the system (or which resident they want to remove) |
Steps |
|
Variations | #4 and #5: Admin can delete a resident or admin |
Non-functional | |
Issues | What information should an admin have to enter to register a resident? |
Use Case | 7. Administrator_Announcement |
Description | Administrator wants to send an announcement/notification to all residents |
Actors | Admin, Resident, Messaging Database |
Assumptions | Admin has an announcement to broadcast and the system is on |
Steps |
|
Variations | 4. Admin selects Cancel |
Non-functional | None |
Issues | Should the admin be able to target specific users? |
Here is an overview of the microservices part of the EasyLife system. To see details about the following microservices, follow the link:
Our main website is a NextJS website which is being hosted on Vercel at easylife-seng350.vercel.app. All three microservices are express servers which are being run inside of docker containers. The docker containers are hosted using fly.io. The hosted instances of the microservers can be found here for events, login and messaging. We chose to all use express and fly.io in order to simplify our deployment process, which allows for easier hosting and is a stack everyone is familiar with. This also allows us to reduce work in the future by sharing things like bash scripts and github actions to deploy our services.