Sunbird-Ed / SunbirdEd-mobile-app

Cordova Mobile Application for Sunbird software. Provide the interfaces on Android Application. Currently caters to use cases of both offline and online consumption of Sunbird resources
MIT License
7 stars 82 forks source link

Circle CI - master branch Circle CI Badge Quality Gate Status Coverage Lines of Code Maintainability Rating

What is the Sunbird Mobile app?

The Sunbird Mobile app is the app-based interface for the Sunbird application stack. It provides a app(android/ios) through which all functionality of Sunbird can be accessed.

Latest release- release-5.2.0

Ongoing release- release-6.0.0

Prerequisites: Package Version Recommended Version
Node 12+ 12.22.10
NPM 6+ 6.14.16
Cordova 10+ 10.1.2
Ionic 5 5.7.0
Java(For Android) 11+ 11.0.15.1
Gradle(For Android) 7+ 7.0.2
CocoaPods(For Ios) 1.11.3

Project Setup

1. Ionic-Android build Setup

4. How to build apk

5. How to debug apk

Steps

1. Checkout sunbird-mobile-app repo from https://github.com/shikshalokam/SunbirdEd-mobile-app with branch release-3.9.0-ios
2. Add `GoogleService-Info.plist` file
3. cd to <sunbird-mobile-app> local path
4. Rename `sunbird.properties.example` file to `sunbird.properties` and put all the valid credentials and api endpoint.
5. RUN ./build-ios.sh
6. RUN cordova emulate ios

FAQ

  1. error: Value for SWIFT_VERSION cannot be empty. (in target 'Sunbird' from project 'Sunbird') or Duplicate GoogleService-Info.plist file error open platforms/ios/Sunbird.xcworkspace Select Sunbird Build setting Project, targets update Swift language version to 4 Inside Tagets -> Build phases -> Copy Bundle Resources -> remove duplicate GoogleService-Info.plist if present and close Xcode then rerun the cordova emulate ios
  2. M1 Chipset users - Turn off ROSETA for XCODE Open Applications -> Right Click Xcode -> Click on Get Info -> Unchek Open with Roseta Once build-ios.sh is completed, open platforms/ios/Sunbird.xcworkspace and run the application by clicking on Play button
  3. Install Java on Mac Check if JAVA is already insalled or not by running following command in terminal javac --version if you get the verdetails then it's installed already Check the installation path in /Library/Java/JavaVirtualMachines Check is JAVA_HOME is set by runnig echo $JAVA_HOME, if you get the installation path as output then JAVA_HOME is set For Further details follow the link - https://stackoverflow.com/a/50683158/4259981
  4. (iOS Setup only) POD installation - https://cocoapods.org/
  5. (Android Setup only) Gradle installation - https://gradle.org/install/