diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 00000000..bad9d0d2
Binary files /dev/null and b/.DS_Store differ
diff --git a/.env b/.env
new file mode 100644
index 00000000..e223a359
--- /dev/null
+++ b/.env
@@ -0,0 +1,2 @@
+SERVER_ROOT='https://mobile-stage.eatvio.ru/api'
+STORAGE_URL='https://mobile-stage.eatvio.ru/storage/'
\ No newline at end of file
diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml
new file mode 100644
index 00000000..e8f9d11f
--- /dev/null
+++ b/.gitea/workflows/build.yml
@@ -0,0 +1,74 @@
+name: Android Release
+
+on: [push, pull_request]
+
+env:
+ flutter_version: "3.19.0"
+ java_version: "12.x"
+ flutter_channel: "stable"
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/cache@v2
+ with:
+ path: ${{ runner.tool_cache }}/flutter
+ key: flutter-${{ env.flutter_version }}-${{ env.flutter_channel }}
+
+ - name: Install jq
+ run: |
+ apt update
+ apt-get install -y jq
+
+ - uses: actions/setup-java@v3
+ with:
+ distribution: "zulu"
+ java-version: "12.x"
+ cache: "gradle"
+
+ - id: flutter-action
+ uses: actions/flutter-action@v2
+ with:
+ channel: ${{ env.flutter_channel }}
+ flutter-version: ${{ env.flutter_version }}
+ cache: true
+
+ - name: show cache keys
+ run: |
+ echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }}
+ echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }}
+ echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }}
+ echo VERSION=${{ steps.flutter-action.outputs.VERSION }}
+ echo ARCHITECTURE=${{ steps.flutter-action.outputs.ARCHITECTURE }}
+ echo PUB-CACHE-PATH=${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}
+ echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
+ shell: bash
+
+ - name: fix dir permissions
+ run: |
+ git config --global --add safe.directory /opt/hostedtoolcache/flutter/${{ env.flutter_channel }}-${{ env.flutter_version }}-${{ steps.flutter-action.outputs.ARCHITECTURE }}
+ flutter --version
+
+ - name: Get dependencies
+ run: flutter pub get
+
+ - name: Native Analyze
+ run: flutter analyze
+
+ - name: Run Code Metrics
+ run: flutter pub run dart_code_metrics:metrics lib --disable-sunset-warning --fatal-warnings --fatal-performance
+
+ - name: Test
+ run: |
+ touch .env
+ flutter test
+
+# - name: Build apk
+# run: flutter build apk
+
+# Runs a set of commands using the runners shell
+# - name: Start release build
+# run: flutter build appbundle
diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml
new file mode 100644
index 00000000..b5f75243
--- /dev/null
+++ b/.gitea/workflows/test.yml
@@ -0,0 +1,67 @@
+name: Eatvio App Android Test
+
+on: [pull_request]
+
+env:
+ flutter_version: "3.19.0"
+ java_version: "12.x"
+ flutter_channel: "stable"
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/cache@v2
+ with:
+ path: ${{ runner.tool_cache }}/flutter
+ key: flutter-${{ env.flutter_version }}-${{ env.flutter_channel }}
+
+ - name: Install jq
+ run: |
+ apt update
+ apt-get install -y jq
+
+ - uses: actions/setup-java@v3
+ with:
+ distribution: "zulu"
+ java-version: "12.x"
+ cache: "gradle"
+
+ - id: flutter-action
+ uses: actions/flutter-action@v2
+ with:
+ channel: ${{ env.flutter_channel }}
+ flutter-version: ${{ env.flutter_version }}
+ cache: true
+
+ - name: show cache keys
+ run: |
+ echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }}
+ echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }}
+ echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }}
+ echo VERSION=${{ steps.flutter-action.outputs.VERSION }}
+ echo ARCHITECTURE=${{ steps.flutter-action.outputs.ARCHITECTURE }}
+ echo PUB-CACHE-PATH=${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}
+ echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
+ shell: bash
+
+ - name: fix dir permissions
+ run: |
+ git config --global --add safe.directory /opt/hostedtoolcache/flutter/${{ env.flutter_channel }}-${{ env.flutter_version }}-${{ steps.flutter-action.outputs.ARCHITECTURE }}
+ flutter --version
+
+ - name: Get dependencies
+ run: flutter pub get
+
+ - name: Native Analyze
+ run: flutter analyze
+
+ - name: Run Code Metrics
+ run: flutter pub run dart_code_metrics:metrics lib --disable-sunset-warning --fatal-warnings --fatal-performance
+
+ - name: Test
+ run: |
+ touch .env
+ flutter test
diff --git a/.metadata b/.metadata
new file mode 100644
index 00000000..aa90aa80
--- /dev/null
+++ b/.metadata
@@ -0,0 +1,45 @@
+# This file tracks properties of this Flutter project.
+# Used by Flutter tool to assess capabilities and perform upgrades etc.
+#
+# This file should be version controlled and should not be manually edited.
+
+version:
+ revision: "ba393198430278b6595976de84fe170f553cc728"
+ channel: "stable"
+
+project_type: app
+
+# Tracks metadata for the flutter migrate command
+migration:
+ platforms:
+ - platform: root
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: android
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: ios
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: linux
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: macos
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: web
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+ - platform: windows
+ create_revision: ba393198430278b6595976de84fe170f553cc728
+ base_revision: ba393198430278b6595976de84fe170f553cc728
+
+ # User provided section
+
+ # List of Local paths (relative to this file) that should be
+ # ignored by the migrate tool.
+ #
+ # Files that are not part of the templates will be ignored by default.
+ unmanaged_files:
+ - 'lib/main.dart'
+ - 'ios/Runner.xcodeproj/project.pbxproj'
diff --git a/README.md b/README.md
index f6cc1597..39b2d892 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
# eatvio_app
### Системные требования
-- Flutter (Channel stable, 3.16.4, on Ubuntu 22.04.3 LTS 6.2.0-39-generic, locale en_US.UTF-8)
+- Flutter (Channel stable, 3.19.0, on Ubuntu 22.04.3 LTS 6.2.0-39-generic, locale en_US.UTF-8)
- Android Studio (version 2023.1)
- VS Code (version 1.85.0)
- Android SDK (version 34.0.0) - устанавливается из Android Studio (Tools->SDK Manager->Android Command Line Tools)
@@ -32,26 +32,27 @@
Для тестирования на устройствах Android в корневой папке проекта выполните команду
-flutter build apk
+`# flutter build apk`
-после чего .apk файл скомпилируется в директории build/app/outputs/flutter-apk/app-release.apk
+после чего `.apk` файл скомпилируется в директории `build/app/outputs/flutter-apk/app-release.apk`
Данный файл установит приложение на устройство с актуальной версией OS
### Библиотеки и инструменты
- flutter_bloc - контроль состояний
- cached_network_image - кеширование картинок из веба
- flutter_svg - работа с изображениями
- equatable - сравнение без оператора "=="
- validators - валидация
- hive - локальная бд (1)
- hive_flutter - локальная бд (2)
- isar_flutter_libs - локальная бд (3)
- path_provider - динамичкские пути до файлов
- fl_chart - построение графиков
- flutter_spinkit - прелоадеры
- flutter_dotenv - переменные окружения
+ - **flutter_bloc** - контроль состояний
+ - **cached_network_image** - кеширование картинок из веба
+ - **flutter_svg** - работа с изображениями
+ - **equatable** - сравнение без оператора "=="
+ - **validators** - валидация
+ - **hive** - локальная бд (1)
+ - **hive_flutter** - локальная бд (2)
+ - **isar_flutter_libs** - локальная бд (3)
+ - **path_provider** - динамичкские пути до файлов
+ - **fl_chart** - построение графиков
+ - **flutter_spinkit** - прелоадеры
+ - **flutter_dotenv** - переменные окружения
+
### Поддержка
diff --git a/analysis_options.yaml b/analysis_options.yaml
new file mode 100644
index 00000000..9722fb45
--- /dev/null
+++ b/analysis_options.yaml
@@ -0,0 +1,34 @@
+analyzer:
+ plugins:
+ - dart_code_metrics
+
+dart_code_metrics:
+ extends:
+ - package:dart_code_metrics_presets/flutter_all.yaml
+ - package:dart_code_metrics_presets/bloc.yaml
+ metrics:
+ cyclomatic-complexity: 20
+ lines-of-executable-code: 50
+ number-of-parameters: 4
+ maximum-nesting-level: 5
+ metrics-exclude:
+ - test/**
+# extends:
+# - recommended
+# anti-patterns:
+# - long-method
+# - long-parameter-list
+# metrics:
+# cyclomatic-complexity: 20
+# lines-of-executable-code: 50
+# number-of-parameters: 4
+# maximum-nesting-level: 5
+# metrics-exclude:
+# - test/**
+# rules:
+# - newline-before-return
+# - no-boolean-literal-compare
+# - no-empty-block
+# - prefer-trailing-comma
+# - prefer-conditional-expressions
+# - no-equal-then-else
diff --git a/android/app/src/main/kotlin/com/eatvioapp/eatvio_app/MainActivity.kt b/android/app/src/main/kotlin/com/eatvioapp/eatvio_app/MainActivity.kt
new file mode 100644
index 00000000..f3e4d58d
--- /dev/null
+++ b/android/app/src/main/kotlin/com/eatvioapp/eatvio_app/MainActivity.kt
@@ -0,0 +1,5 @@
+package com.eatvioapp.eatvio_app
+
+import io.flutter.embedding.android.FlutterActivity
+
+class MainActivity: FlutterActivity()
diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml
new file mode 100644
index 00000000..f74085f3
--- /dev/null
+++ b/android/app/src/main/res/drawable-v21/launch_background.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml
new file mode 100644
index 00000000..06952be7
--- /dev/null
+++ b/android/app/src/main/res/values-night/styles.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/android/eatvio_app_android.iml b/android/eatvio_app_android.iml
new file mode 100644
index 00000000..18999696
--- /dev/null
+++ b/android/eatvio_app_android.iml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/.DS_Store b/assets/.DS_Store
new file mode 100644
index 00000000..2f718152
Binary files /dev/null and b/assets/.DS_Store differ
diff --git a/assets/images/img_attach.svg b/assets/images/img_attach.svg
new file mode 100644
index 00000000..9f75ca7c
--- /dev/null
+++ b/assets/images/img_attach.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/img_glass.svg b/assets/images/img_glass.svg
new file mode 100644
index 00000000..063af954
--- /dev/null
+++ b/assets/images/img_glass.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/images/img_logo_eatvio.svg b/assets/images/img_logo_eatvio.svg
index bc575bc9..6fcfd149 100644
--- a/assets/images/img_logo_eatvio.svg
+++ b/assets/images/img_logo_eatvio.svg
@@ -1,12 +1,56 @@
-
-