diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index 870e0c86da9e44f0d7bdf0d69d5d84068e30f917..b9309db5573ae4f25e27a39e1f8259034ae12048 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"_info":"// This is a generated file; do not edit or check into version control.","dependencyGraph":[{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"location","dependencies":[]},{"name":"path_provider","dependencies":[]}]} \ No newline at end of file +{"_info":"// This is a generated file; do not edit or check into version control.","dependencyGraph":[{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"location","dependencies":[]}]} \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b898ffa03b3f30ad68ef97ce577ef5f96d87cca3..7b266fdc9353cf94c4495da421f0185792496fca 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,11 +3,15 @@ stages: - test - sonarqube - deploy - - show variables: APP_NAME: "bisaGo" +before_script: + - export PATH=$PATH:/sdk/android-sdk-linux/platform-tools/ + - echo flutter.sdk=/sdk/flutter > android/local.properties + - flutter pub get + image: michael09/flutter:latest Lint: @@ -21,11 +25,12 @@ Test: - flutter test --machine > tests.output - flutter test --coverage - lcov --summary coverage/lcov.info - coverage: '/lines......: \d+\.\d+\%/' + - genhtml coverage/lcov.info --output=coverage artifacts: - name: mobile-coverage + expire_in: 1 hour paths: - - $CI_PROJECT_DIR/coverage + - coverage/lcov.info + - tests.output Sonarqube: dependencies: @@ -35,7 +40,7 @@ Sonarqube: - export PATH=$PATH:/sdk/flutter/bin/cache/dart-sdk/bin - flutter pub get script: - - sonar-scanner -Dsonar.login=$SONARQUBE_TOKEN -Dsonar.branch.name=$CI_COMMIT_REF_NAME -Dsonar.projectKey=$SONARQUBE_PROJECT_KEY + - sonar-scanner -Dsonar.login=$SONARQUBE_TOKEN -Dsonar.branch.name=$CI_COMMIT_REF_NAME -Dsonar.projectKey=$SONARQUBE_PROJECT_KEY -X only: - master - staging @@ -53,6 +58,7 @@ DeployToProduction: refs: - master before_script: + - wget --quiet --output-document=flutter.tar.xz https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_v1.12.13+hotfix.7-stable.tar.xz && tar xf flutter.tar.xz -C / - export PATH=$PATH:/flutter/bin - apt-get update && apt-get install gnupg -y - curl -sL https://deb.nodesource.com/setup_12.x | bash - && apt-get install -y nodejs @@ -78,6 +84,7 @@ DeployToStaging: refs: - staging before_script: + - wget --quiet --output-document=flutter.tar.xz https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_v1.12.13+hotfix.8-stable.tar.xz && tar xf flutter.tar.xz -C / - export PATH=$PATH:/flutter/bin - apt-get update && apt-get install gnupg -y - curl -sL https://deb.nodesource.com/setup_12.x | bash - && apt-get install -y nodejs @@ -103,6 +110,7 @@ DeployToDevelopment: refs: - /^US-.*$/ before_script: + - wget --quiet --output-document=flutter.tar.xz https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_v1.12.13+hotfix.8-stable.tar.xz && tar xf flutter.tar.xz -C / - export PATH=$PATH:/flutter/bin - apt-get update && apt-get install gnupg -y - curl -sL https://deb.nodesource.com/setup_12.x | bash - && apt-get install -y nodejs @@ -115,18 +123,4 @@ DeployToDevelopment: - appcenter login --token=$APPCENTER_API_TOKEN - appcenter distribute release -f build/app/outputs/apk/release/app-release.apk --app $APPCENTER_APP_NAME_DEV --group $APPCENTER_GROUP_TARGET environment: - name: development - - - -ShowCoverage: - image: alpine - stage: show - dependencies: - - Test - script: - - mkdir -p mobile-coverage/ - - mv coverage/* mobile-coverage/ - artifacts: - paths: - - $CI_PROJECT_DIR/mobile-coverage/ \ No newline at end of file + name: development \ No newline at end of file diff --git a/README.md b/README.md index fffd55cee840908d0f2468a8de31c2ab9062393b..67bdfefd39a8e5db3902558252c432f5f09598a4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,53 @@ -# PPLapangan Tembak & PoiPoLe - DTB Layanan Siswa Disabilitas (Front End) +# PPLapangan Tembak & PoiPoLe - DTB Layanan Siswa Disabilitas (Front End) - bisaGo Code Coverage -------------- -[![coverage report](https://gitlab.cs.ui.ac.id/ppl-fasilkom-ui/2020/ppl-c/dtb-beasiswa-miskin-dan-disabilitas/pplapangan-tembak-dtb-layanan-siswa-disabilitas/badges/staging/coverage.svg)](https://gitlab.cs.ui.ac.id/ppl-fasilkom-ui/2020/ppl-c/dtb-beasiswa-miskin-dan-disabilitas/pplapangan-tembak-dtb-layanan-siswa-disabilitas/commits/staging) +[![coverage report](https://gitlab.cs.ui.ac.id/ppl-fasilkom-ui/2020/ppl-c/dtb-beasiswa-miskin-dan-disabilitas/pplapangan-tembak-dtb-layanan-siswa-disabilitas/badges/staging/coverage.svg?job=Test)](https://gitlab.cs.ui.ac.id/ppl-fasilkom-ui/2020/ppl-c/dtb-beasiswa-miskin-dan-disabilitas/pplapangan-tembak-dtb-layanan-siswa-disabilitas/commits/staging) +>bisaGo is a mobile application made with Flutter and Django REST API to gather information from users about disability friendly facilities. +## Developers + +PPLapanganTembak +1. [Adzkia Aisyah Afrah Hardian](https://gitlab.cs.ui.ac.id/adzkia.aisyah) +2. [Agnes Handoko](https://gitlab.cs.ui.ac.id/agneshandoko) +3. [Fakhira Devina](https://gitlab.cs.ui.ac.id/hiradevina) +4. [Faza Siti Sabira Prakoso](https://gitlab.cs.ui.ac.id/fazasabirappl) +5. [Firriyal bin Yahya](https://gitlab.cs.ui.ac.id/feriyalbinyahya) + +PoiPoLeGan +1. [Bimo Iman Smartadi](https://gitlab.cs.ui.ac.id/bimo.iman) +2. [Bayukanta Iqbal Gunawan](https://gitlab.cs.ui.ac.id/Bayukanta) +3. [Dzaky Noor Hasyim](https://gitlab.cs.ui.ac.id/NoorHasyim) +4. [Muhammad Abdurrahman](https://gitlab.cs.ui.ac.id/muhammad.abdurrahman71) +5. [Usman Sidiq](https://gitlab.cs.ui.ac.id/usman.sidiq71) + + + +## Table of Content + +* Install +* Running Development Mode + +## Install +The front end side uses Flutter, for installing please head to the [official documentation of Flutter](https://flutter.dev/docs/get-started/install) + +Make sure you already installed everything to work with Flutter with command: +```bash +flutter doctor -v +``` + +Install all the package dependencies in `pubspec.yaml` +```bash +flutter pub get +``` +Get your [Maps API Key](https://developers.google.com/maps/documentation/android-sdk/get-api-key) and put the key on `android/local.properties` +```bash +MAPS_API_KEY=Bu*************** +``` + +## Running Development Mode +Run the app using the development flavor +```bash +flutter run -t lib/main_dev.dart +``` \ No newline at end of file diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 296b146b7318dd58663296dbb7555df9ff328ec2..63ab3ae08f9e4c3ddbbac64e0c3aadee390f7c22 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip diff --git a/lib/page/dashboard/dashboard.dart b/lib/page/dashboard/dashboard.dart index 751e766639d3b351fcd935843632292147a71533..0f3daef8246cc687dc9b836f4d8614a0ca03cfb8 100644 --- a/lib/page/dashboard/dashboard.dart +++ b/lib/page/dashboard/dashboard.dart @@ -20,6 +20,16 @@ class DashboardState extends State { Set _markers = Set(); LocationData currentLocation; BitmapDescriptor currentLocationIcon; + bool _serviceEnabled; + PermissionStatus _permissionGranted; + Marker contohMarker = Marker( + markerId: MarkerId("contoh1"), + position: LatLng(-6.365474, 106.828157), + infoWindow: InfoWindow(title: "Fasilkom"), + icon: BitmapDescriptor.defaultMarkerWithHue( + BitmapDescriptor.hueViolet, + ), + ); @override void initState() { @@ -36,9 +46,6 @@ class DashboardState extends State { } void enableLocationService() async { - bool _serviceEnabled; - PermissionStatus _permissionGranted; - _serviceEnabled = await location.serviceEnabled(); if (!_serviceEnabled) { _serviceEnabled = await location.requestService(); @@ -46,7 +53,6 @@ class DashboardState extends State { return; } } - _permissionGranted = await location.hasPermission(); if (_permissionGranted == PermissionStatus.DENIED) { _permissionGranted = await location.requestPermission(); @@ -117,15 +123,6 @@ class DashboardState extends State { ); } - Marker contohMarker = Marker( - markerId: MarkerId("contoh1"), - position: LatLng(-6.365474, 106.828157), - infoWindow: InfoWindow(title: "Fasilkom"), - icon: BitmapDescriptor.defaultMarkerWithHue( - BitmapDescriptor.hueViolet, - ), - ); - Widget _buildGoogleMap(BuildContext context) { CameraPosition initialCameraPosition = CameraPosition( target: defaultLocation, diff --git a/lib/page/pencarian/pencarian.dart b/lib/page/pencarian/pencarian.dart index 52742d32265c1ea6fcfa38aa22b8b9f9c7fd0455..5e4a680c2eed5bdd1f02e93cdf49c03cefadda00 100644 --- a/lib/page/pencarian/pencarian.dart +++ b/lib/page/pencarian/pencarian.dart @@ -7,6 +7,7 @@ class Pencarian extends StatefulWidget { } class PencarianState extends State { + Icon searchIcon = Icon(Icons.search); Widget appBarText = Text("Pencarian Lokasi"); @override diff --git a/pubspec.yaml b/pubspec.yaml index ae56d3c0f6386d9f2fbe37c351089ac8c83107d7..c5e2877750ca65690453a92d768aa2e4c8e0baf3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,10 +20,10 @@ dependencies: flutter: sdk: flutter http: ^0.12.0+2 - path_provider: ^0.4.1 mockito: ^4.1.1 intl: location: ^2.5.3 + flutter_plugin_android_lifecycle: ^1.0.6 flutter_polyline_points: ^0.1.0 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 0000000000000000000000000000000000000000..03ba6cc35bbb47ca9588183dda0048d8e37da231 --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,15 @@ +# SonarScanner properties file +## Server +sonar.host.url=https://pmpl.cs.ui.ac.id/sonarqube + +## Path to sources +sonar.sources=lib +#sonar.exclusions= +#sonar.inclusions= +## Path to tests +sonar.tests=test +#sonar.test.exclusions= +#sonar.test.inclusions= +## Source encoding +sonar.sourceEncoding=UTF-8 +## Branch analysis