Skip to content

Commit 30c3d33

Browse files
committed
updated at all code
1 parent 3faab0d commit 30c3d33

File tree

130 files changed

+1537
-1225
lines changed

Some content is hidden

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

130 files changed

+1537
-1225
lines changed

.vscode/settings.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"cSpell.words": [
3+
"fluttermvvmtemplate",
4+
"vexana"
5+
]
6+
}

analysis_options.yaml

+17-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,17 @@
1-
include: package:pedantic/analysis_options.1.9.0.yaml
1+
include: package:very_good_analysis/analysis_options.yaml
2+
3+
4+
analyzer:
5+
exclude:
6+
- "**/*.g.dart"
7+
- "**/*.freezed.dart"
8+
- "test/.test_coverage.dart"
9+
- "bin/cache/**"
10+
- "lib/generated_plugin_registrant.dart"
11+
- test
12+
- assets/translations
13+
14+
linter:
15+
rules:
16+
public_member_api_docs: false
17+
library_private_types_in_public_api: false

lib/core/base/model/base_error.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import '../../init/network/IResponseModel.dart';
1+
import 'package:fluttermvvmtemplate/core/init/network/IResponseModel.dart';
22

33
class BaseError extends IErrorModel {
4-
final String message;
54

65
BaseError(this.message);
6+
final String message;
77
}

lib/core/base/model/base_view_model.dart

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import 'package:flutter/material.dart';
22

3-
import '../../init/cache/locale_manager.dart';
4-
import '../../init/navigation/navigation_service.dart';
5-
import '../../init/network/ICoreDio.dart';
6-
import '../../init/network/network_manager.dart';
7-
import '../../init/network/vexana_manager.dart';
3+
import 'package:fluttermvvmtemplate/core/init/cache/locale_manager.dart';
4+
import 'package:fluttermvvmtemplate/core/init/navigation/navigation_service.dart';
5+
import 'package:fluttermvvmtemplate/core/init/network/ICoreDio.dart';
6+
import 'package:fluttermvvmtemplate/core/init/network/network_manager.dart';
7+
import 'package:fluttermvvmtemplate/core/init/network/vexana_manager.dart';
88

99
abstract class BaseViewModel {
10-
BuildContext? context;
10+
late BuildContext viewModelContext;
1111

1212
ICoreDioNullSafety? coreDio = NetworkManager.instance!.coreDio;
1313
VexanaManager? vexanaManager = VexanaManager.instance;

lib/core/base/view/base_widget.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ import 'package:flutter/material.dart';
22
import 'package:mobx/mobx.dart';
33

44
class BaseView<T extends Store> extends StatefulWidget {
5+
6+
const BaseView({Key? key, required this.viewModel, required this.onPageBuilder, required this.onModelReady, this.onDispose}) : super(key: key);
57
final Widget Function(BuildContext context, T value) onPageBuilder;
68
final T viewModel;
79
final Function(T model) onModelReady;
810
final VoidCallback? onDispose;
911

10-
const BaseView({Key? key, required this.viewModel, required this.onPageBuilder, required this.onModelReady, this.onDispose}) : super(key: key);
11-
1212
@override
1313
_BaseViewState<T> createState() => _BaseViewState<T>();
1414
}

lib/core/constants/image/image_constatns.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
class ImageConstants {
2+
3+
ImageConstants._init();
24
static ImageConstants? _instace;
35

46
static ImageConstants get instance => _instace ??= ImageConstants._init();
57

6-
ImageConstants._init();
7-
88
String get logo => toPng('veli');
99

1010
String get hotDog => toPng('hotdogs');

lib/core/extension/context_extension.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ extension PageExtension on BuildContext {
5353
}
5454

5555
extension DurationExtension on BuildContext {
56-
Duration get lowDuration => Duration(milliseconds: 500);
57-
Duration get normalDuration => Duration(seconds: 1);
56+
Duration get lowDuration => const Duration(milliseconds: 500);
57+
Duration get normalDuration => const Duration(seconds: 1);
5858
}

lib/core/extension/network_exntension.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import '../constants/enums/http_request_enum.dart';
1+
import 'package:fluttermvvmtemplate/core/constants/enums/http_request_enum.dart';
22

33
extension NetworkTypeExtension on HttpTypes? {
44
String get rawValue {

lib/core/extension/string_extension.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'package:easy_localization/easy_localization.dart';
22

3-
import '../constants/app/app_constants.dart';
3+
import 'package:fluttermvvmtemplate/core/constants/app/app_constants.dart';
44

55
extension StringLocalization on String {
66
String get locale => this.tr();

lib/core/init/analytics/analytics_manager.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import 'package:flutter/material.dart';
33
import 'package:fluttermvvmtemplate/core/constants/app/app_constants.dart';
44

55
class AnalytcisManager {
6-
static final AnalytcisManager _instance = AnalytcisManager._init();
7-
static AnalytcisManager get instance => _instance;
86
AnalytcisManager._init() {
97
init();
108
}
9+
static final AnalytcisManager _instance = AnalytcisManager._init();
10+
static AnalytcisManager get instance => _instance;
1111

1212
static final _analytics = FirebaseAnalytics.instance;
1313

lib/core/init/cache/locale_manager.dart

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1+
import 'package:fluttermvvmtemplate/core/constants/enums/locale_keys_enum.dart';
12
import 'package:shared_preferences/shared_preferences.dart';
23

3-
import '../../constants/enums/locale_keys_enum.dart';
4-
54
class LocaleManager {
6-
static final LocaleManager _instance = LocaleManager._init();
7-
8-
SharedPreferences? _preferences;
9-
static LocaleManager get instance => _instance;
105

116
LocaleManager._init() {
127
SharedPreferences.getInstance().then((value) {
138
_preferences = value;
149
});
1510
}
11+
static final LocaleManager _instance = LocaleManager._init();
12+
13+
SharedPreferences? _preferences;
14+
static LocaleManager get instance => _instance;
1615
static Future prefrencesInit() async {
1716
instance._preferences ??= await SharedPreferences.getInstance();
1817
}
+4-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import 'package:flutter/material.dart';
22

33
class LanguageManager {
4+
5+
LanguageManager._init();
46
static LanguageManager? _instance;
57
static LanguageManager get instance {
68
_instance ??= LanguageManager._init();
79
return _instance!;
810
}
911

10-
LanguageManager._init();
11-
12-
final enLocale = Locale('en', 'US');
13-
final trLocale = Locale('tr', 'TR');
12+
final enLocale = const Locale('en', 'US');
13+
final trLocale = const Locale('tr', 'TR');
1414

1515
List<Locale> get supportedLocales => [enLocale, trLocale];
1616
}

lib/core/init/lang/locale_keys.g.dart

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// DO NOT EDIT. This is code generated via package:easy_localization/generate.dart
22

3-
abstract class LocaleKeys {
3+
abstract class LocaleKeys {
44
static const welcome = 'welcome';
55
static const onBoard_page1_title = 'onBoard.page1.title';
66
static const onBoard_page1_desc = 'onBoard.page1.desc';
@@ -64,5 +64,4 @@ abstract class LocaleKeys {
6464
static const home_setting_applicationTour = 'home.setting.applicationTour';
6565
static const home_setting = 'home.setting';
6666
static const home = 'home';
67-
6867
}

lib/core/init/navigation/navigation_route.dart

+12-14
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,30 @@
11
import 'package:all_of_template/features/buy_view.dart';
2+
import 'package:architecture_widgets/src/card/not_found_navigation_widget.dart';
23
import 'package:flutter/material.dart';
3-
import 'package:flutter/widgets.dart';
4+
import 'package:fluttermvvmtemplate/core/constants/navigation/navigation_constants.dart';
5+
import 'package:fluttermvvmtemplate/product/exception/navigate_model_not_found.dart';
6+
import 'package:fluttermvvmtemplate/view/authenticate/onboard/view/on_board_view.dart';
47
import 'package:fluttermvvmtemplate/view/authenticate/splash/view/splash_view.dart';
5-
6-
import '../../../product/exception/navigate_model_not_found.dart';
7-
import '../../../view/authenticate/onboard/view/on_board_view.dart';
8-
import '../../../view/authenticate/test/view/test_view.dart';
9-
import '../../../view/settings/model/settings_dynamic.dart';
10-
import '../../../view/settings/view/subview/settings_dynamic_view.dart';
11-
import 'package:architecture_widgets/src/card/not_found_navigation_widget.dart';
12-
import '../../constants/navigation/navigation_constants.dart';
8+
import 'package:fluttermvvmtemplate/view/authenticate/test/view/test_view.dart';
9+
import 'package:fluttermvvmtemplate/view/settings/model/settings_dynamic.dart';
10+
import 'package:fluttermvvmtemplate/view/settings/view/subview/settings_dynamic_view.dart';
1311

1412
class NavigationRoute {
15-
static final NavigationRoute _instance = NavigationRoute._init();
16-
static NavigationRoute get instance => _instance;
1713

1814
NavigationRoute._init();
15+
static final NavigationRoute _instance = NavigationRoute._init();
16+
static NavigationRoute get instance => _instance;
1917

2018
Route<dynamic> generateRoute(RouteSettings args) {
2119
switch (args.name) {
2220
case NavigationConstants.DEFAULT:
23-
return normalNavigate(SplashView(), NavigationConstants.DEFAULT);
21+
return normalNavigate(const SplashView(), NavigationConstants.DEFAULT);
2422

2523
case NavigationConstants.TEST_VIEW:
2624
return normalNavigate(TestsView(), NavigationConstants.TEST_VIEW);
2725

2826
case NavigationConstants.BUY_VIEW:
29-
return normalNavigate(BuyView(), NavigationConstants.BUY_VIEW);
27+
return normalNavigate(const BuyView(), NavigationConstants.BUY_VIEW);
3028

3129
case NavigationConstants.ON_BOARD:
3230
return normalNavigate(OnBoardView(), NavigationConstants.ON_BOARD);
@@ -51,6 +49,6 @@ class NavigationRoute {
5149
return MaterialPageRoute(
5250
builder: (context) => widget,
5351
//analytciste görülecek olan sayfa ismi için pageName veriyoruz
54-
settings: RouteSettings(name: pageName));
52+
settings: RouteSettings(name: pageName),);
5553
}
5654
}

lib/core/init/navigation/navigation_service.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import 'package:flutter/cupertino.dart';
22

3-
import 'INavigationService.dart';
3+
import 'package:fluttermvvmtemplate/core/init/navigation/INavigationService.dart';
44

55
class NavigationService implements INavigationService {
6-
static final NavigationService _instance = NavigationService._init();
7-
static NavigationService get instance => _instance;
86

97
NavigationService._init();
8+
static final NavigationService _instance = NavigationService._init();
9+
static NavigationService get instance => _instance;
1010

1111
GlobalKey<NavigatorState> navigatorKey = GlobalKey();
1212
final removeAllOldRoutes = (Route<dynamic> route) => false;

lib/core/init/network/ICoreDio.dart

+35-27
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,49 @@
1-
import '../../base/model/base_model.dart';
2-
import '../../constants/enums/http_request_enum.dart';
3-
import 'IResponseModel.dart';
1+
import 'package:fluttermvvmtemplate/core/base/model/base_model.dart';
2+
import 'package:fluttermvvmtemplate/core/constants/enums/http_request_enum.dart';
3+
import 'package:fluttermvvmtemplate/core/init/network/IResponseModel.dart';
44

55
abstract class ICoreDio {
6-
Future<IResponseModel<R>> fetch<R, T extends BaseModel>(String path,
7-
{required HttpTypes type,
8-
required T parseModel,
9-
dynamic data,
10-
Map<String, Object>? queryParameters,
11-
void Function(int, int)? onReceiveProgress});
6+
Future<IResponseModel<R>> fetch<R, T extends BaseModel>(
7+
String path, {
8+
required HttpTypes type,
9+
required T parseModel,
10+
dynamic data,
11+
Map<String, Object>? queryParameters,
12+
void Function(int, int)? onReceiveProgress,
13+
});
1214
}
1315
// MARK: Null SAfety
1416

1517
abstract class ICoreDioNullSafety {
16-
Future<IResponseModel<R>> send<R, T extends BaseModel>(String path,
17-
{required HttpTypes type,
18-
required T parseModel,
19-
dynamic data,
20-
Map<String, Object>? queryParameters,
21-
void Function(int, int)? onReceiveProgress});
18+
Future<IResponseModel<R>> send<R, T>(
19+
String path, {
20+
required HttpTypes type,
21+
required BaseModel<T> parseModel,
22+
dynamic data,
23+
Map<String, Object>? queryParameters,
24+
void Function(int, int)? onReceiveProgress,
25+
});
2226
}
2327

2428
abstract class ICoreDioFull extends ICoreDio {
25-
Future<IResponseModel<R>> fetchNoNetwork<R, T extends BaseModel>(String path,
26-
{required HttpTypes type,
27-
required T parseModel,
28-
dynamic data,
29-
Map<String, Object>? queryParameters,
30-
void Function(int, int)? onReceiveProgress});
29+
Future<IResponseModel<R>> fetchNoNetwork<R, T extends BaseModel>(
30+
String path, {
31+
required HttpTypes type,
32+
required T parseModel,
33+
dynamic data,
34+
Map<String, Object>? queryParameters,
35+
void Function(int, int)? onReceiveProgress,
36+
});
3137
}
3238

3339
// MARK: Nul SAfety
3440
abstract class ICoreDioFullNulSafetyFull extends ICoreDioNullSafety {
35-
Future<IResponseModel<R>> fetchNoNetwork<R, T extends BaseModel>(String path,
36-
{required HttpTypes type,
37-
required T parseModel,
38-
dynamic data,
39-
Map<String, Object>? queryParameters,
40-
void Function(int, int)? onReceiveProgress});
41+
Future<IResponseModel<R>> fetchNoNetwork<R, T extends BaseModel>(
42+
String path, {
43+
required HttpTypes type,
44+
required T parseModel,
45+
dynamic data,
46+
Map<String, Object>? queryParameters,
47+
void Function(int, int)? onReceiveProgress,
48+
});
4149
}

lib/core/init/network/IResponseModel.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ abstract class IErrorModel<T> {
88
}
99

1010
class ResponseModel<T> extends IResponseModel<T> {
11+
12+
ResponseModel({this.data, this.error});
1113
@override
1214
final T? data;
1315
@override
1416
final IErrorModel? error;
15-
16-
ResponseModel({this.data, this.error});
1717
}

lib/core/init/network/core_dio.dart

+23-16
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,40 @@ import 'dart:io';
33
import 'package:dio/adapter.dart';
44
import 'package:dio/dio.dart';
55

6-
import '../../base/model/base_error.dart';
7-
import '../../base/model/base_model.dart';
8-
import '../../constants/enums/http_request_enum.dart';
9-
import '../../extension/network_exntension.dart';
10-
import 'ICoreDio.dart';
11-
import 'IResponseModel.dart';
6+
import 'package:fluttermvvmtemplate/core/base/model/base_error.dart';
7+
import 'package:fluttermvvmtemplate/core/base/model/base_model.dart';
8+
import 'package:fluttermvvmtemplate/core/constants/enums/http_request_enum.dart';
9+
import 'package:fluttermvvmtemplate/core/extension/network_exntension.dart';
10+
import 'package:fluttermvvmtemplate/core/init/network/ICoreDio.dart';
11+
import 'package:fluttermvvmtemplate/core/init/network/IResponseModel.dart';
1212

1313
part './network_core/core_operations.dart';
1414

1515
class CoreDio with DioMixin implements Dio, ICoreDioNullSafety {
16-
@override
17-
final BaseOptions options;
18-
1916
CoreDio(this.options) {
2017
options = options;
2118
interceptors.add(InterceptorsWrapper());
2219
httpClientAdapter = DefaultHttpClientAdapter();
2320
}
21+
@override
22+
final BaseOptions options;
2423

2524
@override
26-
Future<IResponseModel<R>> send<R, T extends BaseModel>(String path,
27-
{required HttpTypes type,
28-
required T parseModel,
29-
dynamic data,
30-
Map<String, dynamic>? queryParameters,
31-
void Function(int, int)? onReceiveProgress}) async {
32-
final response = await request(path, data: data, options: Options(method: type.rawValue));
25+
Future<IResponseModel<R>> send<R, T>(
26+
String path, {
27+
required HttpTypes type,
28+
required BaseModel<T> parseModel,
29+
dynamic data,
30+
Map<String, dynamic>? queryParameters,
31+
void Function(int, int)? onReceiveProgress,
32+
}) async {
33+
final response = await request<dynamic>(
34+
path,
35+
data: data,
36+
options: Options(
37+
method: type.rawValue,
38+
),
39+
);
3340
switch (response.statusCode) {
3441
case HttpStatus.ok:
3542
case HttpStatus.accepted:

0 commit comments

Comments
 (0)