├── .gitignore
├── .metadata
├── README.md
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ ├── google-services.json
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── thecodingpapa
│ │ │ │ └── tomato_record
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable-v21
│ │ │ └── launch_background.xml
│ │ │ ├── drawable
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── values-night
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── assets
├── fonts
│ └── BMDOHYEON_otf.otf
└── imgs
│ ├── carrot_intro.png
│ ├── carrot_intro_pos.png
│ ├── happiness.png
│ ├── home_1.png
│ ├── padlock.png
│ ├── placeholder.png
│ ├── selected_home_1.png
│ ├── selected_placeholder.png
│ ├── selected_smartphone_10.png
│ ├── selected_user_3.png
│ ├── smartphone_10.png
│ ├── tomato.png
│ ├── user_3.png
│ └── won.png
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
├── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── GoogleService-Info.plist
│ ├── Info.plist
│ ├── Runner-Bridging-Header.h
│ └── Runner.entitlements
└── build
│ └── Pods.build
│ └── Release-iphonesimulator
│ ├── BoringSSL-GRPC.build
│ └── dgph
│ ├── Firebase.build
│ └── dgph
│ ├── FirebaseAuth.build
│ └── dgph
│ ├── FirebaseCore.build
│ └── dgph
│ ├── FirebaseCoreDiagnostics.build
│ └── dgph
│ ├── FirebaseFirestore.build
│ └── dgph
│ ├── FirebaseStorage.build
│ └── dgph
│ ├── Flutter.build
│ └── dgph
│ ├── GTMSessionFetcher.build
│ └── dgph
│ ├── GoogleDataTransport.build
│ └── dgph
│ ├── GoogleUtilities.build
│ └── dgph
│ ├── Pods-Runner.build
│ └── dgph
│ ├── PromisesObjC.build
│ └── dgph
│ ├── abseil.build
│ └── dgph
│ ├── cloud_firestore.build
│ └── dgph
│ ├── firebase_auth.build
│ └── dgph
│ ├── firebase_core.build
│ └── dgph
│ ├── firebase_storage.build
│ └── dgph
│ ├── gRPC-C++-gRPCCertificates-Cpp.build
│ └── dgph
│ ├── gRPC-C++.build
│ └── dgph
│ ├── gRPC-Core.build
│ └── dgph
│ ├── image_picker.build
│ └── dgph
│ ├── leveldb-library.build
│ └── dgph
│ ├── location.build
│ └── dgph
│ ├── nanopb.build
│ └── dgph
│ ├── path_provider.build
│ └── dgph
│ └── shared_preferences.build
│ └── dgph
├── lib
├── constants
│ ├── common_size.dart
│ ├── data_keys.dart
│ ├── keys.dart
│ └── shared_pref_keys.dart
├── data
│ ├── address_model.dart
│ ├── address_model2.dart
│ ├── chat_model.dart
│ ├── chatroom_model.dart
│ ├── item_model.dart
│ └── user_model.dart
├── main.dart
├── repo
│ ├── algolia_service.dart
│ ├── chat_service.dart
│ ├── image_storage.dart
│ ├── item_service.dart
│ └── user_service.dart
├── router
│ └── locations.dart
├── screens
│ ├── chat
│ │ ├── chat.dart
│ │ ├── chat_list_page.dart
│ │ └── chatroom_screen.dart
│ ├── home
│ │ ├── items_page.dart
│ │ └── map_page.dart
│ ├── home_screen.dart
│ ├── input
│ │ ├── category_input_screen.dart
│ │ ├── input_screen.dart
│ │ └── multi_image_select.dart
│ ├── item
│ │ ├── item_detail_screen.dart
│ │ └── similar_item.dart
│ ├── search
│ │ └── search_screen.dart
│ ├── splash_screen.dart
│ ├── start
│ │ ├── address_page.dart
│ │ ├── address_service.dart
│ │ ├── auth_page.dart
│ │ └── intro_page.dart
│ └── start_screen.dart
├── states
│ ├── category_notifier.dart
│ ├── chat_notifier.dart
│ ├── select_image_notifier.dart
│ └── user_notifier.dart
├── utils
│ ├── logger.dart
│ └── time_calculation.dart
└── widgets
│ ├── expandable_fab.dart
│ └── item_list_widget.dart
├── pubspec.lock
├── pubspec.yaml
└── test
└── widget_test.dart
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | **/ios/Flutter/.last_build_id
26 | .dart_tool/
27 | .flutter-plugins
28 | .flutter-plugins-dependencies
29 | .packages
30 | .pub-cache/
31 | .pub/
32 | /build/
33 |
34 | # Web related
35 | lib/generated_plugin_registrant.dart
36 |
37 | # Symbolication related
38 | app.*.symbols
39 |
40 | # Obfuscation related
41 | app.*.map.json
42 |
43 | # Android Studio will place build artifacts here
44 | /android/app/debug
45 | /android/app/profile
46 | /android/app/release
47 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: f4abaa0735eba4dfd8f33f73363911d63931fe03
8 | channel: stable
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # tomato_record
2 |
3 | A new Flutter application.
4 |
5 | ## Getting Started
6 |
7 | This project is a starting point for a Flutter application.
8 |
9 | A few resources to get you started if this is your first Flutter project:
10 |
11 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
12 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
13 |
14 | For help getting started with Flutter, view our
15 | [online documentation](https://flutter.dev/docs), which offers tutorials,
16 | samples, guidance on mobile development, and a full API reference.
17 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion 30
30 |
31 | sourceSets {
32 | main.java.srcDirs += 'src/main/kotlin'
33 | }
34 |
35 | defaultConfig {
36 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
37 | applicationId "com.thecodingpapa.tomato_record"
38 | minSdkVersion 16
39 | targetSdkVersion 30
40 | versionCode flutterVersionCode.toInteger()
41 | versionName flutterVersionName
42 | multiDexEnabled true
43 | }
44 |
45 | buildTypes {
46 | release {
47 | // TODO: Add your own signing config for the release build.
48 | // Signing with the debug keys for now, so `flutter run --release` works.
49 | signingConfig signingConfigs.debug
50 | }
51 | }
52 | }
53 |
54 | flutter {
55 | source '../..'
56 | }
57 |
58 | dependencies {
59 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
60 | implementation 'com.android.support:multidex:1.0.3'
61 | }
62 |
63 |
64 | apply plugin: 'com.google.gms.google-services'
--------------------------------------------------------------------------------
/android/app/google-services.json:
--------------------------------------------------------------------------------
1 | {
2 | "project_info": {
3 | "project_number": "991789698622",
4 | "project_id": "tomato-record",
5 | "storage_bucket": "tomato-record.appspot.com"
6 | },
7 | "client": [
8 | {
9 | "client_info": {
10 | "mobilesdk_app_id": "1:991789698622:android:c44a5bac175cd2e9d28b6f",
11 | "android_client_info": {
12 | "package_name": "com.thecodingpapa.tomato_record"
13 | }
14 | },
15 | "oauth_client": [
16 | {
17 | "client_id": "991789698622-casfs1otr3juqr71uh9mqv4rktkbmeoi.apps.googleusercontent.com",
18 | "client_type": 1,
19 | "android_info": {
20 | "package_name": "com.thecodingpapa.tomato_record",
21 | "certificate_hash": "3937b2583d0d05ac1d8079e91f375ad2cc9382b6"
22 | }
23 | },
24 | {
25 | "client_id": "991789698622-j8mssonoorantvvouuinpgqro3qc917a.apps.googleusercontent.com",
26 | "client_type": 3
27 | }
28 | ],
29 | "api_key": [
30 | {
31 | "current_key": "AIzaSyC-MSQnsDtWVWtvYQeIyPQbyaZFSfZV9YE"
32 | }
33 | ],
34 | "services": {
35 | "appinvite_service": {
36 | "other_platform_oauth_client": [
37 | {
38 | "client_id": "991789698622-j8mssonoorantvvouuinpgqro3qc917a.apps.googleusercontent.com",
39 | "client_type": 3
40 | }
41 | ]
42 | }
43 | }
44 | }
45 | ],
46 | "configuration_version": "1"
47 | }
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
14 |
18 |
22 |
27 |
31 |
32 |
33 |
34 |
35 |
36 |
38 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/thecodingpapa/tomato_record/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.thecodingpapa.tomato_record
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | repositories {
4 | google()
5 | jcenter()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:4.1.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | classpath 'com.google.gms:google-services:4.3.8'
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | google()
18 | jcenter()
19 | }
20 | }
21 |
22 | rootProject.buildDir = '../build'
23 | subprojects {
24 | project.buildDir = "${rootProject.buildDir}/${project.name}"
25 | project.evaluationDependsOn(':app')
26 | }
27 |
28 | task clean(type: Delete) {
29 | delete rootProject.buildDir
30 | }
31 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/assets/fonts/BMDOHYEON_otf.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/fonts/BMDOHYEON_otf.otf
--------------------------------------------------------------------------------
/assets/imgs/carrot_intro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/carrot_intro.png
--------------------------------------------------------------------------------
/assets/imgs/carrot_intro_pos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/carrot_intro_pos.png
--------------------------------------------------------------------------------
/assets/imgs/happiness.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/happiness.png
--------------------------------------------------------------------------------
/assets/imgs/home_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/home_1.png
--------------------------------------------------------------------------------
/assets/imgs/padlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/padlock.png
--------------------------------------------------------------------------------
/assets/imgs/placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/placeholder.png
--------------------------------------------------------------------------------
/assets/imgs/selected_home_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/selected_home_1.png
--------------------------------------------------------------------------------
/assets/imgs/selected_placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/selected_placeholder.png
--------------------------------------------------------------------------------
/assets/imgs/selected_smartphone_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/selected_smartphone_10.png
--------------------------------------------------------------------------------
/assets/imgs/selected_user_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/selected_user_3.png
--------------------------------------------------------------------------------
/assets/imgs/smartphone_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/smartphone_10.png
--------------------------------------------------------------------------------
/assets/imgs/tomato.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/tomato.png
--------------------------------------------------------------------------------
/assets/imgs/user_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/user_3.png
--------------------------------------------------------------------------------
/assets/imgs/won.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/assets/imgs/won.png
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/ephemeral/
22 | Flutter/app.flx
23 | Flutter/app.zip
24 | Flutter/flutter_assets/
25 | Flutter/flutter_export_environment.sh
26 | ServiceDefinitions.json
27 | Runner/GeneratedPluginRegistrant.*
28 |
29 | # Exceptions to above rules.
30 | !default.mode1v3
31 | !default.mode2v3
32 | !default.pbxuser
33 | !default.perspectivev3
34 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 9.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | platform :ios, '10.0'
3 |
4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6 |
7 | project 'Runner', {
8 | 'Debug' => :debug,
9 | 'Profile' => :release,
10 | 'Release' => :release,
11 | }
12 |
13 | def flutter_root
14 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15 | unless File.exist?(generated_xcode_build_settings_path)
16 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17 | end
18 |
19 | File.foreach(generated_xcode_build_settings_path) do |line|
20 | matches = line.match(/FLUTTER_ROOT\=(.*)/)
21 | return matches[1].strip if matches
22 | end
23 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24 | end
25 |
26 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27 |
28 | flutter_ios_podfile_setup
29 |
30 | target 'Runner' do
31 | use_frameworks!
32 | use_modular_headers!
33 |
34 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
35 | end
36 |
37 | post_install do |installer|
38 | installer.pods_project.targets.each do |target|
39 | flutter_additional_ios_build_settings(target)
40 | end
41 | end
42 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thecodingpapa/tomato_record/bfc79c4e42bf1aeee4656f93be46a60990e3b9cc/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Runner/GoogleService-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CLIENT_ID
6 | 991789698622-uhhv9648g7midrrlmjujqihrf0nvvcti.apps.googleusercontent.com
7 | REVERSED_CLIENT_ID
8 | com.googleusercontent.apps.991789698622-uhhv9648g7midrrlmjujqihrf0nvvcti
9 | ANDROID_CLIENT_ID
10 | 991789698622-casfs1otr3juqr71uh9mqv4rktkbmeoi.apps.googleusercontent.com
11 | API_KEY
12 | AIzaSyAINO29E2NmJcDvMUJjPArIBue8x01q_-o
13 | GCM_SENDER_ID
14 | 991789698622
15 | PLIST_VERSION
16 | 1
17 | BUNDLE_ID
18 | com.thecodingpapa.tomatoRecord
19 | PROJECT_ID
20 | tomato-record
21 | STORAGE_BUCKET
22 | tomato-record.appspot.com
23 | IS_ADS_ENABLED
24 |
25 | IS_ANALYTICS_ENABLED
26 |
27 | IS_APPINVITE_ENABLED
28 |
29 | IS_GCM_ENABLED
30 |
31 | IS_SIGNIN_ENABLED
32 |
33 | GOOGLE_APP_ID
34 | 1:991789698622:ios:6a53df66e16dc9c8d28b6f
35 |
36 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSMicrophoneUsageDescription
6 | 영상찍을때 필요해!!
7 | NSCameraUsageDescription
8 | 사진좀 찍고싶어!!
9 | NSPhotoLibraryUsageDescription
10 | 사진좀 사용할게!!
11 | CFBundleDevelopmentRegion
12 | $(DEVELOPMENT_LANGUAGE)
13 | CFBundleExecutable
14 | $(EXECUTABLE_NAME)
15 | CFBundleIdentifier
16 | $(PRODUCT_BUNDLE_IDENTIFIER)
17 | CFBundleInfoDictionaryVersion
18 | 6.0
19 | CFBundleName
20 | tomato_record
21 | CFBundlePackageType
22 | APPL
23 | CFBundleShortVersionString
24 | $(FLUTTER_BUILD_NAME)
25 | CFBundleSignature
26 | ????
27 | CFBundleURLTypes
28 |
29 |
30 | CFBundleTypeRole
31 | Editor
32 | CFBundleURLSchemes
33 |
34 | com.googleusercontent.apps.991789698622-uhhv9648g7midrrlmjujqihrf0nvvcti
35 |
36 |
37 |
38 |
39 | CFBundleVersion
40 | $(FLUTTER_BUILD_NUMBER)
41 | LSRequiresIPhoneOS
42 |
43 | NSLocationWhenInUseUsageDescription
44 | 주소때문에 위치 정보좀 사용할게요!!
45 | UILaunchStoryboardName
46 | LaunchScreen
47 | UIMainStoryboardFile
48 | Main
49 | UISupportedInterfaceOrientations
50 |
51 | UIInterfaceOrientationPortrait
52 | UIInterfaceOrientationLandscapeLeft
53 | UIInterfaceOrientationLandscapeRight
54 |
55 | UISupportedInterfaceOrientations~ipad
56 |
57 | UIInterfaceOrientationPortrait
58 | UIInterfaceOrientationPortraitUpsideDown
59 | UIInterfaceOrientationLandscapeLeft
60 | UIInterfaceOrientationLandscapeRight
61 |
62 | UIViewControllerBasedStatusBarAppearance
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/ios/Runner/Runner.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | aps-environment
6 | development
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/BoringSSL-GRPC.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/Firebase.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/FirebaseAuth.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/FirebaseCore.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/FirebaseCoreDiagnostics.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/FirebaseFirestore.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/FirebaseStorage.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/Flutter.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/GTMSessionFetcher.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/GoogleDataTransport.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/GoogleUtilities.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/PromisesObjC.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/abseil.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/cloud_firestore.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/firebase_auth.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/firebase_core.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/firebase_storage.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/gRPC-C++-gRPCCertificates-Cpp.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/gRPC-C++.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/gRPC-Core.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/image_picker.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/leveldb-library.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/location.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/nanopb.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/path_provider.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/ios/build/Pods.build/Release-iphonesimulator/shared_preferences.build/dgph:
--------------------------------------------------------------------------------
1 | DGPH1.04Aug 25 202119:35:39 / Users
2 | wonjunyang Documents
3 | PlayGround flutter-project
tomato_record ios Pods
--------------------------------------------------------------------------------
/lib/constants/common_size.dart:
--------------------------------------------------------------------------------
1 | const double common_padding = 16.0;
2 | const double common_sm_padding = 8.0;
3 |
--------------------------------------------------------------------------------
/lib/constants/data_keys.dart:
--------------------------------------------------------------------------------
1 | const COL_USERS = 'users';
2 | const COL_ITEMS = 'items';
3 | const COL_USER_ITEMS = 'user_items';
4 | const COL_CHATROOMS = 'chatrooms';
5 | const COL_CHATS = 'chats';
6 |
7 | const DOC_ITEMIMAGE = "itemImage";
8 | const DOC_ITEMTITLE = "itemTitle";
9 | const DOC_ITEMKEY = "itemKey";
10 | const DOC_ITEMADDRESS = "itemAddress";
11 | const DOC_ITEMPOSITION = "itemPosition";
12 | const DOC_ITEMPRICE = "itemPrice";
13 | const DOC_SELLERKEY = "sellerKey";
14 | const DOC_BUYERKEY = "buyerKey";
15 | const DOC_SELLERIMAGE = "sellerImage";
16 | const DOC_BUYERIMAGE = "buyerImage";
17 | const DOC_GEOFIREPOINT = "geoFirePoint";
18 | const DOC_GEOPOINT = "geopoint";
19 | const DOC_LASTMSG = "lastMsg";
20 | const DOC_LASTMSGTIME = "lastMsgTime";
21 | const DOC_LASTMSGUSERKEY = "lastMsgUserKey";
22 | const DOC_CHATROOMKEY = "chatroomKey";
23 | const DOC_CHATKEY = "chatKey";
24 | const DOC_USERKEY = "userKey";
25 | const DOC_MSG = "msg";
26 | const DOC_IMAGEDOWNLOADURLS = "imageDownloadUrls";
27 | const DOC_TITLE = "title";
28 | const DOC_CATEGORY = "category";
29 | const DOC_PRICE = "price";
30 | const DOC_NEGOTIABLE = "negotiable";
31 | const DOC_DETAIL = "detail";
32 | const DOC_ADDRESS = "address";
33 | const DOC_CREATEDDATE = "createdDate";
34 | const DOC_PHONENUMBER = "phoneNumber";
35 |
--------------------------------------------------------------------------------
/lib/constants/keys.dart:
--------------------------------------------------------------------------------
1 | const VWORLD_KEY = "AAECD9BB-1F7E-3F0C-9349-D258A07B51DB";
2 |
--------------------------------------------------------------------------------
/lib/constants/shared_pref_keys.dart:
--------------------------------------------------------------------------------
1 | const SHARED_ADDRESS = 'address';
2 | const SHARED_LAT = 'latitude';
3 | const SHARED_LON = 'longitude';
4 |
--------------------------------------------------------------------------------
/lib/data/address_model.dart:
--------------------------------------------------------------------------------
1 | /// page : {"total":"1","current":"1","size":"10"}
2 | /// result : {"crs":"EPSG:900913","type":'address',"items":[{"id":"4113510900106240000",'address':{"zipcode":"13487","category":"road","road":"경기도 성남시 분당구 판교로 242 (삼평동)","parcel":"삼평동 624","bldnm":"","bldnmdc":""},"point":{"x":"14148853.48172358","y":"4495338.919111188"}}]}
3 |
4 | class AddressModel {
5 | Page? _page;
6 | Result? _result;
7 |
8 | Page? get page => _page;
9 | Result? get result => _result;
10 |
11 | AddressModel({Page? page, Result? result}) {
12 | _page = page;
13 | _result = result;
14 | }
15 |
16 | AddressModel.fromJson(dynamic json) {
17 | _page = json['page'] != null ? Page.fromJson(json['page']) : null;
18 | _result = json['result'] != null ? Result.fromJson(json['result']) : null;
19 | }
20 |
21 | Map toJson() {
22 | var map = {};
23 | if (_page != null) {
24 | map['page'] = _page?.toJson();
25 | }
26 | if (_result != null) {
27 | map['result'] = _result?.toJson();
28 | }
29 | return map;
30 | }
31 | }
32 |
33 | /// crs : "EPSG:900913"
34 | /// type : 'address'
35 | /// items : [{"id":"4113510900106240000",'address':{"zipcode":"13487","category":"road","road":"경기도 성남시 분당구 판교로 242 (삼평동)","parcel":"삼평동 624","bldnm":"","bldnmdc":""},"point":{"x":"14148853.48172358","y":"4495338.919111188"}}]
36 |
37 | class Result {
38 | String? _crs;
39 | String? _type;
40 | List? _items;
41 |
42 | String? get crs => _crs;
43 | String? get type => _type;
44 | List? get items => _items;
45 |
46 | Result({String? crs, String? type, List? items}) {
47 | _crs = crs;
48 | _type = type;
49 | _items = items;
50 | }
51 |
52 | Result.fromJson(dynamic json) {
53 | _crs = json['crs'];
54 | _type = json['type'];
55 | if (json['items'] != null) {
56 | _items = [];
57 | json['items'].forEach((v) {
58 | _items?.add(Items.fromJson(v));
59 | });
60 | }
61 | }
62 |
63 | Map toJson() {
64 | var map = {};
65 | map['crs'] = _crs;
66 | map['type'] = _type;
67 | if (_items != null) {
68 | map['items'] = _items?.map((v) => v.toJson()).toList();
69 | }
70 | return map;
71 | }
72 | }
73 |
74 | /// id : "4113510900106240000"
75 | /// address : {"zipcode":"13487","category":"road","road":"경기도 성남시 분당구 판교로 242 (삼평동)","parcel":"삼평동 624","bldnm":"","bldnmdc":""}
76 | /// point : {"x":"14148853.48172358","y":"4495338.919111188"}
77 |
78 | class Items {
79 | String? _id;
80 | Address? _address;
81 | Point? _point;
82 |
83 | String? get id => _id;
84 | Address? get address => _address;
85 | Point? get point => _point;
86 |
87 | Items({String? id, Address? address, Point? point}) {
88 | _id = id;
89 | _address = address;
90 | _point = point;
91 | }
92 |
93 | Items.fromJson(dynamic json) {
94 | _id = json['id'];
95 | _address =
96 | json['address'] != null ? Address.fromJson(json['address']) : null;
97 | _point = json['point'] != null ? Point.fromJson(json['point']) : null;
98 | }
99 |
100 | Map toJson() {
101 | var map = {};
102 | map['id'] = _id;
103 | if (_address != null) {
104 | map['address'] = _address?.toJson();
105 | }
106 | if (_point != null) {
107 | map['point'] = _point?.toJson();
108 | }
109 | return map;
110 | }
111 | }
112 |
113 | /// x : "14148853.48172358"
114 | /// y : "4495338.919111188"
115 |
116 | class Point {
117 | String? _x;
118 | String? _y;
119 |
120 | String? get x => _x;
121 | String? get y => _y;
122 |
123 | Point({String? x, String? y}) {
124 | _x = x;
125 | _y = y;
126 | }
127 |
128 | Point.fromJson(dynamic json) {
129 | _x = json['x'];
130 | _y = json['y'];
131 | }
132 |
133 | Map toJson() {
134 | var map = {};
135 | map['x'] = _x;
136 | map['y'] = _y;
137 | return map;
138 | }
139 | }
140 |
141 | /// zipcode : "13487"
142 | /// category : "road"
143 | /// road : "경기도 성남시 분당구 판교로 242 (삼평동)"
144 | /// parcel : "삼평동 624"
145 | /// bldnm : ""
146 | /// bldnmdc : ""
147 |
148 | class Address {
149 | String? _zipcode;
150 | String? _category;
151 | String? _road;
152 | String? _parcel;
153 | String? _bldnm;
154 | String? _bldnmdc;
155 |
156 | String? get zipcode => _zipcode;
157 | String? get category => _category;
158 | String? get road => _road;
159 | String? get parcel => _parcel;
160 | String? get bldnm => _bldnm;
161 | String? get bldnmdc => _bldnmdc;
162 |
163 | Address(
164 | {String? zipcode,
165 | String? category,
166 | String? road,
167 | String? parcel,
168 | String? bldnm,
169 | String? bldnmdc}) {
170 | _zipcode = zipcode;
171 | _category = category;
172 | _road = road;
173 | _parcel = parcel;
174 | _bldnm = bldnm;
175 | _bldnmdc = bldnmdc;
176 | }
177 |
178 | Address.fromJson(dynamic json) {
179 | _zipcode = json['zipcode'];
180 | _category = json['category'];
181 | _road = json['road'];
182 | _parcel = json['parcel'];
183 | _bldnm = json['bldnm'];
184 | _bldnmdc = json['bldnmdc'];
185 | }
186 |
187 | Map toJson() {
188 | var map = {};
189 | map['zipcode'] = _zipcode;
190 | map['category'] = _category;
191 | map['road'] = _road;
192 | map['parcel'] = _parcel;
193 | map['bldnm'] = _bldnm;
194 | map['bldnmdc'] = _bldnmdc;
195 | return map;
196 | }
197 | }
198 |
199 | /// total : "1"
200 | /// current : "1"
201 | /// size : "10"
202 |
203 | class Page {
204 | String? _total;
205 | String? _current;
206 | String? _size;
207 |
208 | String? get total => _total;
209 | String? get current => _current;
210 | String? get size => _size;
211 |
212 | Page({String? total, String? current, String? size}) {
213 | _total = total;
214 | _current = current;
215 | _size = size;
216 | }
217 |
218 | Page.fromJson(dynamic json) {
219 | _total = json['total'];
220 | _current = json['current'];
221 | _size = json['size'];
222 | }
223 |
224 | Map toJson() {
225 | var map = {};
226 | map['total'] = _total;
227 | map['current'] = _current;
228 | map['size'] = _size;
229 | return map;
230 | }
231 | }
232 |
--------------------------------------------------------------------------------
/lib/data/address_model2.dart:
--------------------------------------------------------------------------------
1 | /// input : {"point":{"x":"126.978275264","y":"37.566642192"},"crs":"epsg:4326","type":"both"}
2 | /// result : [{"zipcode":"04524","type":"parcel","text":"서울특별시 중구 태평로1가 31","structure":{"level0":"대한민국","level1":"서울특별시","level2":"중구","level3":"","level4L":"태평로1가","level4LC":"1114010300","level4A":"명동","level4AC":"1114055000","level5":"31","detail":""}},{"zipcode":"04524","type":"road","text":"서울특별시 중구 태평로1가 세종대로 110 서울특별시 청사 신관","structure":{"level0":"대한민국","level1":"서울특별시","level2":"중구","level3":"태평로1가","level4L":"세종대로","level4LC":"2005001","level4A":"명동","level4AC":"1114055000","level5":"110","detail":"서울특별시 청사 신관"}}]
3 |
4 | class AddressModel2 {
5 | Input? _input;
6 | List? _result;
7 |
8 | Input? get input => _input;
9 | List? get result => _result;
10 |
11 | AddressModel2({Input? input, List? result}) {
12 | _input = input;
13 | _result = result;
14 | }
15 |
16 | AddressModel2.fromJson(dynamic json) {
17 | _input = json['input'] != null ? Input.fromJson(json['input']) : null;
18 | if (json['result'] != null) {
19 | _result = [];
20 | json['result'].forEach((v) {
21 | _result?.add(Result.fromJson(v));
22 | });
23 | }
24 | }
25 |
26 | Map toJson() {
27 | var map = {};
28 | if (_input != null) {
29 | map['input'] = _input?.toJson();
30 | }
31 | if (_result != null) {
32 | map['result'] = _result?.map((v) => v.toJson()).toList();
33 | }
34 | return map;
35 | }
36 | }
37 |
38 | /// zipcode : "04524"
39 | /// type : "parcel"
40 | /// text : "서울특별시 중구 태평로1가 31"
41 | /// structure : {"level0":"대한민국","level1":"서울특별시","level2":"중구","level3":"","level4L":"태평로1가","level4LC":"1114010300","level4A":"명동","level4AC":"1114055000","level5":"31","detail":""}
42 |
43 | class Result {
44 | String? _zipcode;
45 | String? _type;
46 | String? _text;
47 | Structure? _structure;
48 |
49 | String? get zipcode => _zipcode;
50 | String? get type => _type;
51 | String? get text => _text;
52 | Structure? get structure => _structure;
53 |
54 | Result({String? zipcode, String? type, String? text, Structure? structure}) {
55 | _zipcode = zipcode;
56 | _type = type;
57 | _text = text;
58 | _structure = structure;
59 | }
60 |
61 | Result.fromJson(dynamic json) {
62 | _zipcode = json['zipcode'];
63 | _type = json['type'];
64 | _text = json['text'];
65 | _structure = json['structure'] != null
66 | ? Structure.fromJson(json['structure'])
67 | : null;
68 | }
69 |
70 | Map toJson() {
71 | var map = {};
72 | map['zipcode'] = _zipcode;
73 | map['type'] = _type;
74 | map['text'] = _text;
75 | if (_structure != null) {
76 | map['structure'] = _structure?.toJson();
77 | }
78 | return map;
79 | }
80 | }
81 |
82 | /// level0 : "대한민국"
83 | /// level1 : "서울특별시"
84 | /// level2 : "중구"
85 | /// level3 : ""
86 | /// level4L : "태평로1가"
87 | /// level4LC : "1114010300"
88 | /// level4A : "명동"
89 | /// level4AC : "1114055000"
90 | /// level5 : "31"
91 | /// detail : ""
92 |
93 | class Structure {
94 | String? _level0;
95 | String? _level1;
96 | String? _level2;
97 | String? _level3;
98 | String? _level4L;
99 | String? _level4LC;
100 | String? _level4A;
101 | String? _level4AC;
102 | String? _level5;
103 | String? _detail;
104 |
105 | String? get level0 => _level0;
106 | String? get level1 => _level1;
107 | String? get level2 => _level2;
108 | String? get level3 => _level3;
109 | String? get level4L => _level4L;
110 | String? get level4LC => _level4LC;
111 | String? get level4A => _level4A;
112 | String? get level4AC => _level4AC;
113 | String? get level5 => _level5;
114 | String? get detail => _detail;
115 |
116 | Structure(
117 | {String? level0,
118 | String? level1,
119 | String? level2,
120 | String? level3,
121 | String? level4L,
122 | String? level4LC,
123 | String? level4A,
124 | String? level4AC,
125 | String? level5,
126 | String? detail}) {
127 | _level0 = level0;
128 | _level1 = level1;
129 | _level2 = level2;
130 | _level3 = level3;
131 | _level4L = level4L;
132 | _level4LC = level4LC;
133 | _level4A = level4A;
134 | _level4AC = level4AC;
135 | _level5 = level5;
136 | _detail = detail;
137 | }
138 |
139 | Structure.fromJson(dynamic json) {
140 | _level0 = json['level0'];
141 | _level1 = json['level1'];
142 | _level2 = json['level2'];
143 | _level3 = json['level3'];
144 | _level4L = json['level4L'];
145 | _level4LC = json['level4LC'];
146 | _level4A = json['level4A'];
147 | _level4AC = json['level4AC'];
148 | _level5 = json['level5'];
149 | _detail = json['detail'];
150 | }
151 |
152 | Map toJson() {
153 | var map = {};
154 | map['level0'] = _level0;
155 | map['level1'] = _level1;
156 | map['level2'] = _level2;
157 | map['level3'] = _level3;
158 | map['level4L'] = _level4L;
159 | map['level4LC'] = _level4LC;
160 | map['level4A'] = _level4A;
161 | map['level4AC'] = _level4AC;
162 | map['level5'] = _level5;
163 | map['detail'] = _detail;
164 | return map;
165 | }
166 | }
167 |
168 | /// point : {"x":"126.978275264","y":"37.566642192"}
169 | /// crs : "epsg:4326"
170 | /// type : "both"
171 |
172 | class Input {
173 | Point? _point;
174 | String? _crs;
175 | String? _type;
176 |
177 | Point? get point => _point;
178 | String? get crs => _crs;
179 | String? get type => _type;
180 |
181 | Input({Point? point, String? crs, String? type}) {
182 | _point = point;
183 | _crs = crs;
184 | _type = type;
185 | }
186 |
187 | Input.fromJson(dynamic json) {
188 | _point = json['point'] != null ? Point.fromJson(json['point']) : null;
189 | _crs = json['crs'];
190 | _type = json['type'];
191 | }
192 |
193 | Map toJson() {
194 | var map = {};
195 | if (_point != null) {
196 | map['point'] = _point?.toJson();
197 | }
198 | map['crs'] = _crs;
199 | map['type'] = _type;
200 | return map;
201 | }
202 | }
203 |
204 | /// x : "126.978275264"
205 | /// y : "37.566642192"
206 |
207 | class Point {
208 | String? _x;
209 | String? _y;
210 |
211 | String? get x => _x;
212 | String? get y => _y;
213 |
214 | Point({String? x, String? y}) {
215 | _x = x;
216 | _y = y;
217 | }
218 |
219 | Point.fromJson(dynamic json) {
220 | _x = json['x'];
221 | _y = json['y'];
222 | }
223 |
224 | Map toJson() {
225 | var map = {};
226 | map['x'] = _x;
227 | map['y'] = _y;
228 | return map;
229 | }
230 | }
231 |
--------------------------------------------------------------------------------
/lib/data/chat_model.dart:
--------------------------------------------------------------------------------
1 | import 'package:cloud_firestore/cloud_firestore.dart';
2 | import 'package:tomato_record/constants/data_keys.dart';
3 |
4 | /// chatKey : ""
5 | /// msg : ""
6 | /// createdDate : ""
7 | /// userKey : ""
8 | /// reference : ""
9 |
10 | class ChatModel {
11 | String? chatKey;
12 | late String msg;
13 | late DateTime createdDate;
14 | late String userKey;
15 | DocumentReference? reference;
16 |
17 | ChatModel(
18 | {required this.msg,
19 | required this.createdDate,
20 | required this.userKey,
21 | this.reference});
22 |
23 | ChatModel.fromJson(Map json, this.chatKey, this.reference) {
24 | msg = json[DOC_MSG] ?? "";
25 | createdDate = json[DOC_CREATEDDATE] == null
26 | ? DateTime.now().toUtc()
27 | : (json[DOC_CREATEDDATE] as Timestamp).toDate();
28 | userKey = json[DOC_USERKEY] ?? "";
29 | }
30 |
31 | Map toJson() {
32 | var map = {};
33 | map[DOC_MSG] = msg;
34 | map[DOC_CREATEDDATE] = createdDate;
35 | map[DOC_USERKEY] = userKey;
36 | return map;
37 | }
38 |
39 | ChatModel.fromQuerySnapshot(
40 | QueryDocumentSnapshot