Skip to content

Commit 4bc9d17

Browse files
authored
Merge pull request #242 from RunTerror/final/dev-branch
Final/dev branch
2 parents c2f4532 + 296ccf9 commit 4bc9d17

File tree

199 files changed

+16434
-6476
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

199 files changed

+16434
-6476
lines changed

.github/workflows/flutter-ci.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@ jobs:
2020
- uses: subosito/flutter-action@v2
2121
with:
2222
# Temporary fix to failing CI
23-
flutter-version: '3.16.4'
23+
flutter-version: '3.22.2'
2424
architecture: x64
2525
# channel: "stable"
2626
- run: flutter pub get
2727
- run: dart format . --set-exit-if-changed
2828
- run: flutter analyze .
29-
- run: flutter test
3029

3130
build:
3231
strategy:
@@ -41,13 +40,12 @@ jobs:
4140
- uses: subosito/flutter-action@v2
4241
with:
4342
# Temporary fix to failing CI
44-
flutter-version: '3.16.4'
43+
flutter-version: '3.22.2'
4544
architecture: x64
4645
# channel: "stable"
4746
- run: flutter pub get
4847
- run: dart format . --set-exit-if-changed
4948
- run: flutter analyze .
50-
- run: flutter test
5149
# - run: flutter build apk
5250
# - uses: actions/upload-artifact@v1
5351
# with:

README.md

Lines changed: 43 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -41,37 +41,56 @@ samples, guidance on mobile development, and a full API reference.
4141

4242
## Project Structure
4343

44-
This project follows MVVM architecture with following structure:
44+
This project follows Clean architecture with following structure:
4545

4646
```bash
47-
beacon/lib/
48-
├── components/ # Shared Components such as dialog boxes, button, and other shared widgets
49-
├── enums/ # enum files
50-
| └── view_state.dart # defines view states i.e Idle, Busy, Error
51-
├── models/ # model classes: group, beacon, location, landmark, user
52-
├── queries/ # includes all graphql query strings
53-
├── services/ # services
54-
| ├── database_mutation_function.dart/ # Graphql Queries implementations
55-
| ├── navigation_service.dart/ # All required navigation services
56-
| └── ... # all config files
57-
├── utilities/ # Utilities that includes constants file
58-
├── views/ # Views/UI layer
59-
| ├── auth_screen.dart
60-
| ├── base_view.dart
61-
| ├── hike_screen.dart
62-
| ├── group_screen.dart
63-
| ├── home.dart
64-
├── viewmodels/ # Viewmodels layer
65-
├── splash_screen.dart # Very first screen displayed whilst data is loading
66-
├── router.dart # All routes to ease navigation
67-
├── locator.dart # dependency injection using get_it
68-
├── main.dart # <3 of the app
47+
beacon/
48+
├── lib/
49+
│ ├── config/ # Configuration files
50+
│ ├── core/ # Core application logic
51+
│ ├── data/
52+
│ │ ├── datasources/
53+
│ │ │ ├── local/ # Local data sources
54+
│ │ │ └── remote/ # Remote data sources
55+
│ │ ├── models/ # Data models
56+
│ │ └── repositories/ # Data repositories
57+
│ ├── domain/
58+
│ │ ├── entities/ # Domain entities
59+
│ │ ├── repositories/ # Domain repositories
60+
│ │ └── usecases/ # Domain use cases
61+
│ ├── presentation/
62+
│ │ ├── auth/
63+
│ │ │ ├── cubit/ # Authentication Cubit
64+
│ │ │ ├── widget/ # Authentication widgets
65+
│ │ │ └── screen/ # Authentication screens
66+
│ │ ├── home/
67+
│ │ │ ├── cubit/ # Home Cubit
68+
│ │ │ ├── widget/ # Home widgets
69+
│ │ │ └── screen/ # Home screens
70+
│ │ ├── group/
71+
│ │ │ ├── cubit/ # Group Cubit
72+
│ │ │ ├── widget/ # Group widgets
73+
│ │ │ └── screen/ # Group screens
74+
│ │ ├── hike/
75+
│ │ │ ├── cubit/ # Hike Cubit
76+
│ │ │ ├── widget/ # Hike widgets
77+
│ │ │ └── screen/ # Hike screens
78+
│ │ ├── widgets/ # Shared widgets used across all presentation folders
79+
│ │ └── splash_screen.dart # Initial screen displayed while loading
80+
├── main.dart # App entry point
81+
├── theme/ # Theme configurations
82+
├── locator.dart # Dependency injection setup (using get_it)
83+
├── router.dart # App navigation routes
6984
```
7085

7186
## Screenshots
7287

7388
<img src="screenshots/1.jpg" width="24%" /> <img src="screenshots/2.jpg" width="24%"/> <img src="screenshots/3.jpg" width="24%"/> <img src="screenshots/4.jpg" width="24%"/>
7489

90+
<img src="screenshots/5.png" width="24%" /> <img src="screenshots/6.png" width="24%"/> <img src="screenshots/7.png" width="24%"/> <img src="screenshots/8.png" width="24%"/>
91+
92+
<img src="screenshots/9.png" width="24%" /> <img src="screenshots/10.png" width="24%"/>
93+
7594
## Contributing
7695

7796
Whether you have some feauture requests/ideas, code improvements, refactoring, performance improvements, help is always Welcome. The more is done, better it gets.
@@ -84,4 +103,4 @@ If you found any bugs, consider opening an [issue](https://github.com/CCExtracto
84103

85104
We would love to hear from you! You may join gsoc-beacon channel of CCExtractor community through slack:
86105

87-
[![Slack](https://img.shields.io/badge/chat-on_slack-purple.svg?style=for-the-badge&logo=slack)](https://ccextractor.org/public/general/support/)
106+
[![Slack](https://img.shields.io/badge/chat-on_slack-purple.svg?style=for-the-badge&logo=slack)](https://ccextractor.org/public/general/support/)

android/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
2626
apply from: project(':flutter_config').projectDir.getPath() + "/dotenv.gradle"
2727

2828
android {
29-
compileSdkVersion 33
29+
compileSdkVersion 34
3030
buildToolsVersion '29.0.0'
3131

3232
sourceSets {

android/app/src/main/AndroidManifest.xml

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,45 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
22
package="com.example.beacon">
3+
34
<uses-permission android:name="android.permission.INTERNET"/>
5+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
46
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
57
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
68
<uses-permission android:name="android.permission.WAKE_LOCK"/>
79
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
810
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
9-
<application
11+
<uses-permission android:name="android.permission.VIBRATE"/>
12+
13+
14+
<application
1015
android:label="Beacon"
1116
android:icon="@mipmap/launcher_icon"
12-
android:usesCleartextTraffic="true">
13-
<meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/ANDROID_MAP_API_KEY"/>
17+
android:usesCleartextTraffic="true"
18+
android:requestLegacyExternalStorage="true">
19+
20+
<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyC72TkXzQTsnbGdZy5ldeX64y0mofn_iUs"/>
21+
1422
<activity
15-
android:name="io.flutter.embedding.android.FlutterActivity"
23+
android:name=".MainActivity"
1624
android:launchMode="singleTop"
1725
android:theme="@style/LaunchTheme"
1826
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
1927
android:hardwareAccelerated="true"
28+
android:supportsPictureInPicture="true"
2029
android:windowSoftInputMode="adjustResize">
21-
<!-- Specifies an Android theme to apply to this Activity as soon as
22-
the Android process has started. This theme is visible to the user
23-
while the Flutter UI initializes. After that, this theme continues
24-
to determine the Window background behind the Flutter UI. -->
2530

2631
<meta-data
2732
android:name="io.flutter.embedding.android.NormalTheme"
2833
android:resource="@style/NormalTheme"
2934
/>
30-
<!-- Displays an Android View that continues showing the launch screen
31-
Drawable until Flutter paints its first frame, then this splash
32-
screen fades out. A splash screen is useful to avoid any visual
33-
gap between the end of Android's launch screen and the painting of
34-
Flutter's first frame. -->
35+
3536
<intent-filter>
3637
<action android:name="android.intent.action.MAIN"/>
3738
<category android:name="android.intent.category.LAUNCHER"/>
3839
</intent-filter>
40+
3941
<meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
42+
4043
<intent-filter android:autoVerify="true">
4144
<action android:name="android.intent.action.VIEW" />
4245
<category android:name="android.intent.category.DEFAULT" />
@@ -45,8 +48,7 @@
4548
<data android:scheme="https" />
4649
</intent-filter>
4750
</activity>
48-
<!-- Don't delete the meta-data below.
49-
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
51+
5052
<meta-data
5153
android:name="flutterEmbedding"
5254
android:value="2" />
Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
package com.example.beacon
22

3+
import android.content.res.Configuration
4+
import androidx.annotation.NonNull
5+
import cl.puntito.simple_pip_mode.PipCallbackHelper
36
import io.flutter.embedding.android.FlutterActivity
7+
import io.flutter.embedding.engine.FlutterEngine
48

5-
class MainActivity: FlutterActivity() {
9+
class MainActivity : FlutterActivity() {
10+
private var callbackHelper = PipCallbackHelper()
11+
12+
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
13+
super.configureFlutterEngine(flutterEngine)
14+
callbackHelper.configureFlutterEngine(flutterEngine)
15+
}
16+
17+
override fun onPictureInPictureModeChanged(active: Boolean, newConfig: Configuration?) {
18+
super.onPictureInPictureModeChanged(active, newConfig)
19+
callbackHelper.onPictureInPictureModeChanged(active)
20+
}
621
}

images/filter_icon.png

12.6 KB
Loading

images/google.png

118 KB
Loading

ios/Flutter/AppFrameworkInfo.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
<key>CFBundleVersion</key>
2222
<string>1.0</string>
2323
<key>MinimumOSVersion</key>
24-
<string>11.0</string>
24+
<string>12.0</string>
2525
</dict>
2626
</plist>

ios/Podfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Uncomment this line to define a global platform for your project
2-
# platform :ios, '11.0'
2+
# platform :ios, '12.0'
33

44
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
55
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

ios/Podfile.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,22 +88,22 @@ EXTERNAL SOURCES:
8888

8989
SPEC CHECKSUMS:
9090
connectivity_plus: 413a8857dd5d9f1c399a39130850d02fe0feaf7e
91-
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
91+
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
9292
flutter_config: f48f0d47a284f1791aacce2687eabb3309ba7a41
93-
flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743
93+
flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086
9494
fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265
9595
geolocator_apple: 9157311f654584b9bb72686c55fc02a97b73f461
96-
google_maps_flutter_ios: 590249c67f34f422122c232f2a626192adbc78ee
96+
google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458
9797
GoogleMaps: 025272d5876d3b32604e5c080dc25eaf68764693
98-
location: 3a2eed4dd2fab25e7b7baf2a9efefe82b512d740
98+
location: d5cf8598915965547c3f36761ae9cc4f4e87d22e
9999
modal_progress_hud_nsn: f6fb744cd060653d66ed8f325360ef3650eb2fde
100-
path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
100+
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
101101
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
102102
share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5
103-
shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
103+
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
104104
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
105105
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
106106

107-
PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
107+
PODFILE CHECKSUM: c4c93c5f6502fe2754f48404d3594bf779584011
108108

109-
COCOAPODS: 1.14.2
109+
COCOAPODS: 1.15.2

0 commit comments

Comments
 (0)