diff --git a/.github/workflows/deploy_beta.yml b/.github/workflows/deploy_beta.yml index d4b32150..00d939ed 100644 --- a/.github/workflows/deploy_beta.yml +++ b/.github/workflows/deploy_beta.yml @@ -29,6 +29,8 @@ jobs: with: channel: stable cache: true + cache-key: 'flutter-:os:-:channel:-:version:-:arch:' + cache-path: '${{ runner.tool_cache }}/flutter/:channel:-:arch:' - if: matrix.platform == 'android' uses: actions/setup-java@v3 @@ -36,15 +38,10 @@ jobs: distribution: 'corretto' java-version: '17' - - name: Cache pub dependencies - uses: actions/cache@v3 - with: - path: ${{ env.FLUTTER_HOME }}/.pub-cache - key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }} - restore-keys: ${{ runner.os }}-pub- - - name: Install Flutter Packages - run: flutter pub get + run: | + flutter config --no-analytics + flutter pub get - if: matrix.platform == 'ios' name: Install CocoaPods diff --git a/.github/workflows/lint_test_build.yml b/.github/workflows/lint_test_build.yml index 8c2a5432..afadfb02 100644 --- a/.github/workflows/lint_test_build.yml +++ b/.github/workflows/lint_test_build.yml @@ -35,5 +35,5 @@ jobs: - name: Run Tests run: flutter test - - name: Build Project + - name: Build Project for iOS run: flutter build ipa --no-codesign \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5f34e163..6df88d5f 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,5 @@ app.*.map.json ios/fastlane/report.xml ios/fastlane/README.md + +desiredFileName.txt diff --git a/README.md b/README.md index 37c4b227..437a50d6 100644 --- a/README.md +++ b/README.md @@ -7,12 +7,12 @@ This mobile client for [gocast](https://github.com/TUM-Dev/gocast) is currently - [x] Authentication using internal account - [x] Authentication using TUM SSO -- [ ] Overview of own and publicly available Lectures -- [ ] Ability to watch lectures (single, multi - view and split - view) -- [ ] Bookmark lectures -- [ ] Automatic notifications if lecture starts -- [ ] Ability to search for lectures -- [ ] Ability to download lectures in a data privacy conform manner (non - exportable and remotely deletable) +- [x] Overview of own and publicly available Lectures +- [x] Ability to watch lectures (single, multi - view and split - view) +- [x] Pin lectures +- [x] Automatic notifications if course goes live starts and if new lecture VoD is uploaded +- [x] Ability to search for lectures +- [x] Ability to download lectures in a data privacy conform manner (non - exportable and remotely deletable) - [ ] Ability to answer quizzes and feedback requests ## Config @@ -28,4 +28,8 @@ This mobile client for [gocast](https://github.com/TUM-Dev/gocast) is currently | Dependency | Usage | Where to download it | |------------------------------------------|------------------------------------------|----------------------------------------------| | `Flutter` (includes the `Dart` compiler) | SDK to develop this app | https://docs.flutter.dev/get-started/install | -| A local instance of [`gocast`](https://github.com/tum-dev/gocast) | API to fetch user data & streams | https://github.com/TUM-Dev/gocast#readme | \ No newline at end of file +| A local instance of [`gocast`](https://github.com/tum-dev/gocast) | API to fetch user data & streams | https://github.com/TUM-Dev/gocast#readme | + +## Push notifications + +For the push notifications, gocast_mobile uses the Firebase Cloudmessaging API. For more details and a detailed setup instruction, see [gocast FCM guide](https://gist.github.com/carlobortolan/845141e175c2f43135b3893670f99c59). diff --git a/android/app/google-services.json b/android/app/google-services.json new file mode 100644 index 00000000..5301f6b4 --- /dev/null +++ b/android/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "1098592064630", + "project_id": "ipraktikum-v1", + "storage_bucket": "ipraktikum-v1.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:1098592064630:android:fa116290547c8adf03fb57", + "android_client_info": { + "package_name": "de.tum.gocast" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyCCbpYL8mGCkRD0CZG7bv5WmaNZP67Yxto" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 75afe80e..b684550e 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,5 @@ + + +