Mobile app of the Memora project using React Native. The backend API can be found here: Memora backend.
ESIEE Paris - 2024 - 4th year project
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.
Contributors: Luca PALAYSI, Tilad CHRAITEH, Paul MALLARD, Damien PHILIPPE
- Node.js (>= 18)
- JDK 17
- Android SDK
- CocoaPods (for iOS builds)
- Clone the repository
git clone https://github.com/Daminoup88/Memora-frontend.git- Navigate to the project directory
cd ALZ-frontend- Install dependencies
npm installor
yarn install- On Windows, create android/local.properties with your SDK path:
echo sdk.dir=C:\\Users\\%USERNAME%\\AppData\\Local\\Android\\Sdk > android/local.properties- 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
- For iOS, install dependencies:
bundle install
bundle exec pod installFirst, you will need to run Metro, the JavaScript build tool for React Native.
npm startor
yarn startIn a new terminal, run one of the following commands:
Android
npm run androidor
yarn androidiOS
npm run iosIf 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.
Run the following command to generate the API client with hey-api:
npm run generate-clientTo create an Application.apk file (Windows):
- Generate keys:
keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000Keep in mind the alias and passord.
- Move
my-release-key.keystoreintoandroid\app:
- cmd:
move my-release-key.keystore android\app\- Open
android\gradle.propertiesand 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- In
android\run the Gradle wrapper:
- cmd:
cd android
gradlew assembleRelease- APK location:
android\app\build\outputs\apk\release\app-release.apk
- If a device is connected (adb devices), you can install the APK with:
adb install app/build/outputs/apk/release/app-release.apk- Use "adb uninstall com.appname" if necessary.
Note: Do not commit the keystore or passwords to the repository; store them securely.
If you encounter issues with long paths on Windows, refer to this issue comment.