This app is a cross platform application built in React Native. Development focus on using as many built in components and existing libraries as possible. The instructions assumes you have some knowledge on how operating systems works with environment variables and such.
/functions
Firebase Cloud Functions
/src
Frontend code
- The source code is located in
./src
- You will need NodeJS from https://nodejs.org
- You need Android Studio from https://developer.android.com/studio/
- For Windows you need to add two environment variables
- You need to add
ANDROID_HOME
with the value for Android SDK Location. You find it in Android Studio Settings,Appearance & Behavior -> System SEttings -> Android SDK
- You also need to add
JAVA_HOME
with the value for Android studio JRE, default isC:\Program Files\Android\Android Studio\jre
- Lastly you need to create a
local.properties
file and write the file-path to Android Studio SDKs i.e.sdk.dir = C:\\Users\\<username>\\AppData\\Local\\Android\\Sdk
- You need to add
- For MacOS and Linux you need to add two environment variables
- First is
ANDROID_SDK
that is the same asANDROID_HOME
under Windows - Second one is to Update
PATH
with Android Studio SDK Platform tools. Usually found in/Users/<username>/Library/Android/sdk/platform-tools
- Third, create a
local.properties
file in the root of the Android folder and write Android Studio SDKs file-path i.e.sdk.dir = /Users/<name>/Library/Android/sdk
- First is
- After that go to the source code in a command line tool like powershell or bash and do
npm install
. - If you are running MacOS you also need to do the following for iOS to work:
cd ios
bundle install
bundle exec pod install
- Go to your user folder, here you should find a folder called
.gradle
, go into it.
Create agradle.properties
file and add the following:DO_GOOD_GET_GOOD_STORE_FILE='' DO_GOOD_GET_GOOD_KEY_ALIAS='' DO_GOOD_GET_GOOD_STORE_PASSWORD='' DO_GOOD_GET_GOOD_KEY_PASSWORD=''
Open a terminal and stand in the root of the source code (/src
).
Now run one of the following commands:
Android:
Development build:
npm run android
Production build:
npm run android-prod
iOS:
Development build:
npm run ios
Production build:
npm run ios-prod
- Go to .env, .env.dev, .env.prod and change the APP_VERSION and RELEASE_NUMBER. (RELEASE_NUMBER have to be int)
- Create a PR and merge your changes to main.
- Run one of the following pipelines below.
Run this build android release AAB pipeline.
When it's finished you'll find the AAB on that workflow page under Artifacts
.
Run this build android release APK pipeline.
When it's finished you'll find the APK on that workflow page under Artifacts
.
- run
npx react-native clean
Try
cd android
./gradlew clean
./gradlew build
cd ..
Try
bundle install
This command installs all the required Ruby gems specified in the project's Gemfile. It ensures that your development environment has the necessary dependencies to run the project successfully. BUT first is good to rungem update bundler
/ orsudo gem update bundler
to ensure that your Bundler is up to date.- sometimes it helps to run
gem update --system
. - sometimes you need to reinstall Bundler, run
gem uninstall bundler
and thengem install bundler
. - if it says "Successfully launched the app on the simulator" but after that it's like it don't have connection to the simulator anymore, then probably it run Release mode.
You can open Xcode Check in
Product -> Scheme -> Edit Scheme -> change to Debug mode
. - sometimes it helps to open Xcode and build by pressing
Command+B
. - often it helps to clean pods
rm -rf Pods rm -rf Podfile.lock pod install
- can help to clean cache
pod cache clean --all
- Mattias Ahlström (Mobile application developer)
- Alona Kirichenko (Mobile application developer)
- Jimmy Merilainen (Mobile application developer)
- Jaya Badarawada (Mobile application developer)
- Kristoffer Johnsson (Software tester)
- Rebecka Eldén (User eXperience)
- Niklas Asp (Developers and Testers)
- Hannah Sundqvist (UX)
- Carina Grip (Office Manager Technogarden Göteborg)
npm run test
to run all testsnpm run test
+ test file name (Example:npm run test SearchBarComponent.test.js
)