Skip to content

Daminoup88/Memora-frontend

Repository files navigation

Memora frontend

Last Commit Contributors

Mobile app of the Memora project using React Native. The backend API can be found here: Memora backend.

ESIEE Paris - 2024 - 4th year project

What is Memora?

Memora is a memory training mobile app designed for Alzheimer’s patients. It uses Spaced Retrieval Training (SRT, based on the Leitner system) to help exercise the brain with memories uploaded by relatives.

Getting Started

Prerequisites

  • Node.js (>= 18)
  • JDK 17
  • Android SDK
  • CocoaPods (for iOS builds)

Installation

  1. Clone the repository
git clone https://github.com/Daminoup88/Memora-frontend.git
  1. Navigate to the project directory
cd ALZ-frontend
  1. Install dependencies
npm install

or

yarn install
  1. On Windows, create android/local.properties with your SDK path:
echo sdk.dir=C:\\Users\\%USERNAME%\\AppData\\Local\\Android\\Sdk > android/local.properties
  1. Set up Environmental Variables:
  • User Path: %LOCALAPPDATA%\Android\Sdk\platform-tools
  • System Path: C:\Program Files\nodejs\
  • System Path: C:\Program Files\Java\jdk-23\bin
  • JAVA_HOME: C:\Program Files\Java\jdk-23
  • ANDROID_HOME: %UserProfile%\AppData\Local\Android\Sdk
  1. For iOS, install dependencies:
bundle install
bundle exec pod install

Usage

Step 1: Start Metro

First, you will need to run Metro, the JavaScript build tool for React Native.

npm start

or

yarn start

Step 2: Build and run your app

In a new terminal, run one of the following commands:

Android

npm run android

or

yarn android

iOS

npm run ios

If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.

This is one way to run your app — you can also build it directly from Android Studio or Xcode.

API Client generation

Run the following command to generate the API client with hey-api:

npm run generate-client

Deployment

To create an Application.apk file (Windows):

  1. Generate keys:
keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

Keep in mind the alias and passord.

  1. Move my-release-key.keystore into android\app:
  • cmd:
move my-release-key.keystore android\app\
  1. Open android\gradle.properties and add:
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=your_store_password
MYAPP_RELEASE_KEY_PASSWORD=your_key_password
  1. In android\ run the Gradle wrapper:
  • cmd:
cd android
gradlew assembleRelease
  1. APK location:
android\app\build\outputs\apk\release\app-release.apk
  1. If a device is connected (adb devices), you can install the APK with:
adb install app/build/outputs/apk/release/app-release.apk
  1. Use "adb uninstall com.appname" if necessary.

Note: Do not commit the keystore or passwords to the repository; store them securely.

Troubleshooting

If you encounter issues with long paths on Windows, refer to this issue comment.

About

Memora is a memory training mobile app designed for Alzheimer’s patients. It uses Spaced Retrieval Training (SRT, based on the Leitner system) to help exercise the brain with memories uploaded by relatives.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages