Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion STML/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,21 @@
STML Application for Spring 2025 Teams C & D
Short Term Memory Loss (STML) Application for Spring 2025 Teams C & D

Application Name: MemoryMinder

Team C
Zachary Kombet
Dhivya Mani
Negussie Mekonnen
Sandrine Mukendi
Babawale Olatunji
Quentin Rawls
Samrawit Yimenu

Team D - MemoryCare
Selamawit Asfha
Alexandra George
Ashanti Holt
Carlson Igwacho
Dylan Pollock
Aadil Shekh
Nnenna Ukpong
114 changes: 98 additions & 16 deletions STML/stml_application/README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,72 @@
# stml_application
## MemoryMinder - STML for Team C/D Spring 2025
# MemoryMinder: Short-Term Memory Loss ​(STML) Application

A new Flutter project.
What is STML?
- The inability to recall information or events that recently occurred​

## Getting Started
Purpose of App​
- To improve the quality of life for persons with STML. ​

- Assist caregivers (non-medical or geriatric assistant professionals) such as relatives, friends, etc., with helping individuals with STML​

Main users for the application:​
- Caregiver ​
- Care recipient ​

# Requirements for Spring 2025
Req 12​ - IN CURRENT APP
The application shall provide a help button in the STML user mode. [Discuss feature set]​

Req 20 (Nice to Have​) - NOT FUNCTIONING AS EXPECTED IN CURRENT APP
The application shall have a default language option of English and support additional multi language options. Note: minimum additional language – Spanish. ​

Req 29 ​- IN CURRENT APP
The application will provide a “Return me Home” function that enables the Admin/Caregiver the ability to “set” the home geo-location for the STML user in the STML user profile. In the STML user mode, the “Return me Home” function will provide option for walking or driving instructions from current STML user location to the STML home geo-location. The intent of this requirement it to provide the STML user with a very simple method to get directions home if they have become disoriented during a walk or local drive. The feature should also notify the Admin/Caregiver of the current location of the STML user. ​

Look into ESRI geo-nav app. Make call to server ​

Req 30​ - IN CURRENT APP
The application will integrate with wearables – FitBit and Applewatch to share STML user health data with their admin/caregiver.​

Req 31​ - IN CURRENT APP
The application will alert the Admin/Caregiver and warn the STML user when sensitive PII information is identified in transcribed notes, such as, Potential triggers include: “My Social Security Number is,” “My Bank Account Number is,” “My Medicare number is,” “My credit card number is” Note: the development team needs to research and identify specific words or phrases that may indicate potential for the STML user to be victim of entitlement fraud activity. ​

Req 32 ​(Nice to Have)​ - IN CURRENT APP
The application will utilize AI to assess STML user transcribed notes of potential scams to alert the Admin/Caregiver Note: the development team needs to research and identify specific words or phrases that may indicate potential for the STML user to be victim of scam activity. ​

Tech support scams ​
Criminals pose as tech support representatives and offer to fix computer issues. They may gain remote access to the victim's device and sensitive information. Potential STML user triggers: “What’s wrong with my iPad or computer””What do you need me to do?””How much does it cost?” ​

Grandparent scams ​
Criminals pose as a relative, usually a grandchild, and claim to be in financial need.”What do you need me to do?””How much do you need me to send?” ​

Government impersonation scams ​
Criminals pose as government employees and threaten to arrest or prosecute victims unless they provide funds. “What did I do wrong?” ”What do I need to pay?” ​

Sweepstakes/lottery scams ​
Criminals claim to work for charitable organizations or that the victim has won a lottery or sweepstakes. They may ask the victim to pay a fee to collect the winnings. ”What do I need to pay?””How much do I need to send?” ​

This project is a starting point for a Flutter application.
Req 33 ​(Nice to Have)​ - IN CURRENT APP
Google “Resources for dementia caregivers.” Integrate with admin/caregiver and STML user (as applicable) functionality to enable customization by location to as many of these resources and services as possible. ​

A few resources to get you started if this is your first Flutter project:
Req 34 (Nice to Have)​ - NOT IN CURRENT APP
The application shall have the ability to connect to any existing camera devices and be able to send camera data to caregiver; privacy settings ​

- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
NOTE: Current code base stems from Fall 23 – CogniOpen​

For help getting started with Flutter development, view the
[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.

-------------------------------------------
Dementia Resources Feature Requirements
-------------------------------------------
## Getting Started
Refer to Team C/D documentation for further insight. All available documentation is located here:
https://umgc-cappms.azurewebsites.net/previousprojects

Spring 2025 Team C - Minder
Spring 2025 Team D - MemoryMinder


## To assist with running the app please do the following:
# -------------------------------------------
# Dementia Resources Feature Requirements
# -------------------------------------------
Add the following to .env file:

#!!!!!!!!!!!!!!!!!!!!
Expand All @@ -31,9 +80,9 @@ To get API key - https://developers.google.com/custom-search/v1/introduction#ide

To set up search engine: https://programmablesearchengine.google.com/about/

------------------------------------------------------
Fitbit Integration - iOS App Only For Now (03/23/2025)
------------------------------------------------------
# ------------------------------------------------------
# Fitbit Integration - iOS App Only For Now (03/23/2025)
# ------------------------------------------------------
1. Create a Fitbit Developer Account here: https://dev.fitbit.com/
2. Sign in and Agree to the Developer Terms of Service
3. Go to: https://dev.fitbit.com/apps and click "Register a new app"
Expand Down Expand Up @@ -63,3 +112,36 @@ FITBIT_CLIENT_SECRET=
11. Click on the project Runner and select Runner under Targets, go to Info and scroll down to URL Types
- Add this to URL Identifier: com.stml and this to URL Schemes: stmlapp
12. Close the Xcode project and you should be all setup!


# ------------------------------------------------------
# RETURNMEHOME FUNCTIONALITY REQUIREMENTS
# ------------------------------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RETURNMEHOME FUNCTIONALITY REQUIREMENTS
Running the ReturnMeHome function requires the use of a proxy server to route API requests due to Cross Origin Resource Sharing headers

If the user has node.js installed, they can run the following commands in the server directory from the CLI
#!!!!!!!!!!!!!!!!!!!!
npm init -y
npm install express request cors
#!!!!!!!!!!!!!!!!!!!!
From there, ensure the server.js file contains the code that lives inside this repo

From the terminal within the server directory use the following command to run the server:
node server.js

That server needs to be running to route requests properly to the google api endpoint

# ------------------------------------------------------
# Known Issues
# ------------------------------------------------------
The Safety Zone of the Return Me Home feature only works on iOS as of 03/29/25 at 10:15 AM EST
https://github.com/umgc/spring2025/pull/286

The Language Localization feature was actively worked on but unable to be featured within the last presented demo for the Spring 2025 STML teams
https://github.com/umgc/spring2025/pull/284

Due to time and resources this requirement was omitted
Req 34 (Nice to Have)​ - NOT IN CURRENT APP
The application shall have the ability to connect to any existing camera devices and be able to send camera data to caregiver; privacy settings ​
6 changes: 3 additions & 3 deletions STML/stml_application/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ import 'package:flutter/material.dart';
import 'package:memoryminder/src/features/account_creation_and_login/presentation/eula_screen.dart';
import 'package:memoryminder/src/features/account_creation_and_login/presentation/welcome_screen.dart';
import 'package:memoryminder/src/features/caregiver-dashboard/service/notification_service.dart';
import 'package:memoryminder/src/features/caregiver_task_management/presentation/caregiver_task_screen.dart';
import 'package:memoryminder/src/features/common/service/s3_connection.dart';
import 'package:memoryminder/src/utils/logger.dart';
import 'package:memoryminder/src/features/stml_user_dashboard/presentation/stml_user_dashboard.dart';
import 'package:memoryminder/src/features/account_creation_and_login/presentation/login_screen.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:memoryminder/src/camera_manager.dart';
import 'package:memoryminder/src/data_service.dart';
import 'package:memoryminder/src/s3_connection.dart';
import 'package:memoryminder/src/utils/directory_manager.dart';
import 'package:memoryminder/src/utils/permission_manager.dart';
import 'package:memoryminder/src/features/account_creation_and_login/presentation/registration_screen.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:memoryminder/features/caregiver_task_management/caregiver_task_screen.dart';
import 'package:memoryminder/src/features/wearable-integration/health_dashboard.dart';
import 'package:memoryminder/src/features/wearable-integration/fitbit_login.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
Expand Down Expand Up @@ -48,7 +48,7 @@ class MyApp extends StatelessWidget {
initialRoute:
'/loginScreen', // The initial screen when the application starts
routes: {
'/welcomeScreen': (context) => WelcomeScreem(),
'/welcomeScreen': (context) => WelcomeScreen(),
'/loginScreen': (context) => LoginScreen(),
'/registrationScreen': (context) => RegistrationScreen(),
'/eulaScreen': (context) => EulaScreen(),
Expand Down
73 changes: 0 additions & 73 deletions STML/stml_application/lib/screens/caregiver_task_screen.dart

This file was deleted.

62 changes: 0 additions & 62 deletions STML/stml_application/lib/src/aws_video_response.dart

This file was deleted.

4 changes: 2 additions & 2 deletions STML/stml_application/lib/src/camera_manager.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ import 'dart:io';

import 'package:camera/camera.dart';
import 'package:memoryminder/src/data_service.dart';
import 'package:memoryminder/src/database/model/video.dart';
import 'package:memoryminder/src/features/common/model/video.dart';
import 'package:memoryminder/src/utils/directory_manager.dart';
import 'package:memoryminder/src/utils/file_manager.dart';
import 'package:memoryminder/src/utils/format_utils.dart';
import 'package:memoryminder/src/utils/logger.dart';
import 'package:memoryminder/src/utils/permission_manager.dart';
import 'package:memoryminder/src/video_processor.dart';
import "package:flutter/material.dart";
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:image_picker/image_picker.dart';
import 'package:memoryminder/src/video_processor.dart';

/// Camera manager class to handle camera functionality.
class CameraManager {
Expand Down
40 changes: 0 additions & 40 deletions STML/stml_application/lib/src/custom_label_response.dart

This file was deleted.

Loading