├── .flutter-plugins-dependencies ├── .gitignore ├── .metadata ├── README.md ├── android ├── app │ ├── build.gradle │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── envisionmspc │ │ │ │ └── mentalHealthApp │ │ │ │ ├── Application.kt │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── 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 │ │ │ └── styles.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties └── settings.gradle ├── assets ├── Consent Form.pdf ├── DASS21FINAL_1.png ├── DASS21FINAL_10.png ├── DASS21FINAL_11.png ├── DASS21FINAL_12.png ├── DASS21FINAL_13.png ├── DASS21FINAL_14.png ├── DASS21FINAL_15.png ├── DASS21FINAL_16.png ├── DASS21FINAL_17.png ├── DASS21FINAL_18.png ├── DASS21FINAL_19.png ├── DASS21FINAL_2.png ├── DASS21FINAL_20.png ├── DASS21FINAL_21.png ├── DASS21FINAL_3.png ├── DASS21FINAL_4.png ├── DASS21FINAL_5.png ├── DASS21FINAL_6.png ├── DASS21FINAL_7.png ├── DASS21FINAL_8.png ├── DASS21FINAL_9.png ├── GAD7_1.png ├── GAD7_2.png ├── GAD7_3.png ├── GAD7_4.png ├── GAD7_5.png ├── GAD7_6.png ├── GAD7_7.png ├── Get Help Now.pdf ├── Know the Team.pdf ├── Onboarding1.png ├── Onboarding2.png ├── Onboarding3.png ├── Onboarding4.png ├── PHQ-9iconsFINAL_1.png ├── PHQ-9iconsFINAL_2.png ├── PHQ-9iconsFINAL_3.png ├── PHQ-9iconsFINAL_4.png ├── PHQ-9iconsFINAL_5.png ├── PHQ-9iconsFINAL_6.png ├── PHQ-9iconsFINAL_7.png ├── PHQ-9iconsFINAL_8.png ├── PHQ-9iconsFINAL_9.png ├── PHQ-9icons_1.png ├── PHQ-9icons_2.png ├── PHQ-9icons_3.png ├── PHQ-9icons_4.png ├── PHQ-9icons_5.png ├── PHQ-9icons_6.png ├── PHQ-9icons_7.png ├── PHQ-9icons_8.png ├── bace-DrManik_1.png ├── bace-DrManik_10.png ├── bace-DrManik_11.png ├── bace-DrManik_12.png ├── bace-DrManik_13.png ├── bace-DrManik_14.png ├── bace-DrManik_15.png ├── bace-DrManik_16.png ├── bace-DrManik_17.png ├── bace-DrManik_18.png ├── bace-DrManik_19.png ├── bace-DrManik_2.png ├── bace-DrManik_20.png ├── bace-DrManik_21.png ├── bace-DrManik_22.png ├── bace-DrManik_23.png ├── bace-DrManik_24.png ├── bace-DrManik_25.png ├── bace-DrManik_26.png ├── bace-DrManik_27.png ├── bace-DrManik_3.png ├── bace-DrManik_4.png ├── bace-DrManik_5.png ├── bace-DrManik_6.png ├── bace-DrManik_7.png ├── bace-DrManik_8.png ├── bace-DrManik_9.png ├── checklist.png ├── dass-timer.png ├── dob-info.png ├── envision.png ├── false.png ├── fluency.png ├── gender1.png ├── gender2.png ├── gender3.png ├── gendercom.png ├── gendercomf.png ├── hardtowinddown.png ├── heart.jpeg ├── heart.png ├── hometown.png ├── icon_anxiety.png ├── icon_depression.png ├── icon_no problems.png ├── icon_privacy.png ├── icon_stress.png ├── living.png ├── mainlogo.jpeg ├── mainlogo.png ├── mf.png ├── mothertoungue.png ├── mouthdryness.png ├── mspc.png ├── mspcnew.png ├── news.png ├── no positive feeling.png ├── prevpsychhelp.png ├── question.png ├── sdrs_1.png ├── sdrs_2.png ├── sdrs_3.png ├── sdrs_4.png ├── sdrs_5.png ├── sociodemo_1.png ├── sociodemo_2.png ├── sociodemo_3.png ├── sociodemo_4.png ├── timer_1-3.png ├── timer_1-4.png ├── timer_1-5.png ├── timer_2-3.png ├── timer_2-4.png ├── timer_2-5.png ├── timer_3-3.png ├── timer_3-4.png ├── timer_3-5.png ├── timer_4-4.png ├── timer_4-5.png ├── timer_5-5.png ├── true.png └── who.png ├── ios ├── Flutter │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ ├── Flutter.podspec │ └── Release.xcconfig ├── Podfile ├── Podfile.lock ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── icon-1024.png │ │ ├── icon-120.png │ │ ├── icon-180.png │ │ ├── icon-40.png │ │ ├── icon-58.png │ │ ├── icon-60.png │ │ ├── icon-80.png │ │ └── icon-87.png │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── GoogleService-Info.plist │ ├── Info.plist │ └── Runner-Bridging-Header.h ├── lib ├── ArticlesPage.dart ├── BACE_Page.dart ├── DASS21_Page.dart ├── GAD7_Page.dart ├── PHQ9_Page.dart ├── ResultPage.dart ├── SDRS_Page.dart ├── Showup.dart ├── SocioDemographic.dart ├── TimerPage.dart ├── WebView.dart ├── dass21_intro.dart ├── main.dart ├── onboarding.dart ├── question.dart ├── questionaire.dart ├── questionnaire2.dart ├── questionnaire3.dart ├── quiz.dart └── test.dart ├── mockups ├── Screen1_iphonexspacegrey_portrait.png ├── Screen2_iphonexspacegrey_portrait.png ├── Screen3_iphonexspacegrey_portrait.png └── Screen4_iphonexspacegrey_portrait.png ├── pubspec.lock ├── pubspec.yaml ├── static ├── Consent Form.pdf ├── Get Help Now.pdf ├── Know the Team.pdf ├── Privacy Policy.pdf └── Terms of Use.pdf └── test └── widget_test.dart /.flutter-plugins-dependencies: -------------------------------------------------------------------------------- 1 | {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"firebase_core","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.4.5\\\\","dependencies":[]},{"name":"firebase_database","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_database-3.1.6\\\\","dependencies":["firebase_core"]},{"name":"firebase_messaging","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_messaging-6.0.16\\\\","dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_pdfview-1.0.3\\\\","dependencies":[]},{"name":"flutter_webview_plugin","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_webview_plugin-0.3.11\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.11\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.8\\\\","dependencies":[]},{"name":"url_launcher","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\url_launcher-5.5.0\\\\","dependencies":[]}],"android":[{"name":"firebase_core","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.4.5\\\\","dependencies":[]},{"name":"firebase_database","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_database-3.1.6\\\\","dependencies":["firebase_core"]},{"name":"firebase_messaging","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_messaging-6.0.16\\\\","dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_pdfview-1.0.3\\\\","dependencies":[]},{"name":"flutter_webview_plugin","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_webview_plugin-0.3.11\\\\","dependencies":[]},{"name":"path_provider","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider-1.6.11\\\\","dependencies":[]},{"name":"shared_preferences","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences-0.5.8\\\\","dependencies":[]},{"name":"url_launcher","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\url_launcher-5.5.0\\\\","dependencies":[]}],"macos":[{"name":"firebase_core","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.4.5\\\\","dependencies":[]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_macos-0.0.4+3\\\\","dependencies":[]},{"name":"shared_preferences_macos","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_macos-0.0.1+10\\\\","dependencies":[]},{"name":"url_launcher_macos","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\url_launcher_macos-0.0.1+7\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_linux-0.0.2+1\\\\","dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\url_launcher_linux-0.0.1+1\\\\","dependencies":[]}],"windows":[],"web":[{"name":"firebase_core_web","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core_web-0.1.1+2\\\\","dependencies":[]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\shared_preferences_web-0.1.2+7\\\\","dependencies":[]},{"name":"url_launcher_web","path":"C:\\\\Users\\\\ankit\\\\Documents\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\url_launcher_web-0.1.2\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"firebase_core","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","dependencies":[]},{"name":"firebase_database","dependencies":["firebase_core"]},{"name":"firebase_messaging","dependencies":[]},{"name":"flutter_pdfview","dependencies":[]},{"name":"flutter_webview_plugin","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_linux","shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_linux","url_launcher_macos"]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]}],"date_created":"2020-10-01 15:23:05.334106","version":"1.20.1"} -------------------------------------------------------------------------------- /.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 | .dart_tool/ 26 | .flutter-plugins 27 | .packages 28 | .pub-cache/ 29 | .pub/ 30 | /build/ 31 | 32 | # Android related 33 | **/android/**/gradle-wrapper.jar 34 | **/android/.gradle 35 | **/android/captures/ 36 | **/android/gradlew 37 | **/android/gradlew.bat 38 | **/android/local.properties 39 | **/android/**/GeneratedPluginRegistrant.java 40 | 41 | # iOS/XCode related 42 | **/ios/**/*.mode1v3 43 | **/ios/**/*.mode2v3 44 | **/ios/**/*.moved-aside 45 | **/ios/**/*.pbxuser 46 | **/ios/**/*.perspectivev3 47 | **/ios/**/*sync/ 48 | **/ios/**/.sconsign.dblite 49 | **/ios/**/.tags* 50 | **/ios/**/.vagrant/ 51 | **/ios/**/DerivedData/ 52 | **/ios/**/Icon? 53 | **/ios/**/Pods/ 54 | **/ios/**/.symlinks/ 55 | **/ios/**/profile 56 | **/ios/**/xcuserdata 57 | **/ios/.generated/ 58 | **/ios/Flutter/App.framework 59 | **/ios/Flutter/Flutter.framework 60 | **/ios/Flutter/Generated.xcconfig 61 | **/ios/Flutter/app.flx 62 | **/ios/Flutter/app.zip 63 | **/ios/Flutter/flutter_assets/ 64 | **/ios/Flutter/flutter_export_environment.sh 65 | **/ios/ServiceDefinitions.json 66 | **/ios/Runner/GeneratedPluginRegistrant.* 67 | 68 | # Exceptions to above rules. 69 | !**/ios/**/default.mode1v3 70 | !**/ios/**/default.mode2v3 71 | !**/ios/**/default.pbxuser 72 | !**/ios/**/default.perspectivev3 73 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 74 | android/app/release/app.aab 75 | .flutter-plugins-dependencies 76 | -------------------------------------------------------------------------------- /.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: cc949a8e8b9cf394b9290a8e80f87af3e207dce5 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Here For You 2 | This app has been developed by [Microsoft Learn Student Ambassadors SRM](https://msclubsrm.in) and [Team Envision](https://team-envision.github.io/) for internal use at SRM Institute of Science and Technology, Kattankulathur, India. We permit you to use this app for your personal, non-commercial use only. Please refers [Terms of Use](https://github.com/MSPC-Tech/MentalHealthApp/blob/master/static/Terms%20of%20Use.pdf) for further claritification or write to us on our [Email](mailto:mysafespaceindia@gmail.com). 3 | 4 | You can also use this email to report any security vulnerabilities to us. 5 | 6 | If you are looking to download the production(stable) version of the app, you can do so here: 7 | - [Android](https://play.google.com/store/apps/details?id=com.envisionmspc.mentalHealthApp) 8 | - [IOS](https://apps.apple.com/in/app/here-for-you/id1523215331) 9 | 10 | 11 | ## Quick Look 12 | 13 | | | | 14 | | ----------------------------------------------- | -------------------------- | 15 | || | 16 | || | 17 | 18 | ## Getting Started 19 | 20 | A few resources to get you started if this is your first Flutter project: 21 | 22 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) 23 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) 24 | 25 | For help getting started with Flutter, view the 26 | [online documentation](https://flutter.dev/docs), which offers tutorials, 27 | samples, guidance on mobile development, and a full API reference. 28 | 29 | ## Prerequisites 30 | 31 |
    32 |
  1. Flutter SDK 119
  2. 33 |
  3. Android Toolchain and SDK
  4. 34 |
  5. A Mac (for iOS builds)
  6. 35 |
36 | 37 | 38 | ## Building the App 39 | 40 | - Clone the repo to your computer. 41 | - [Flutter SDK (1.19)](https://flutter.dev/docs/get-started/install) setup the production environments for iOS and Android 42 | - Open the directory in your favourite command line tool and run `flutter pub get` to get all packages. 43 | - `flutter build apk` will build an APK file. 44 | - `flutter run` will run the app on your connected device 45 | - `flutter build ios` will build the app for iOS devices (You will need a Mac for this). 46 | 47 | -------------------------------------------------------------------------------- /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 = '16' 17 | } 18 | 19 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 20 | if (flutterVersionName == null) { 21 | flutterVersionName = '1.8.3' 22 | } 23 | 24 | apply plugin: 'com.android.application' 25 | apply plugin: 'kotlin-android' 26 | apply plugin: 'com.google.gms.google-services' 27 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 28 | 29 | android { 30 | compileSdkVersion 28 31 | 32 | sourceSets { 33 | main.java.srcDirs += 'src/main/kotlin' 34 | } 35 | 36 | lintOptions { 37 | disable 'InvalidPackage' 38 | } 39 | 40 | defaultConfig { 41 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 42 | applicationId "com.envisionmspc.mentalHealthApp" 43 | minSdkVersion 16 44 | targetSdkVersion 28 45 | versionCode flutterVersionCode.toInteger() 46 | versionName flutterVersionName 47 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 48 | } 49 | 50 | buildTypes { 51 | release { 52 | minifyEnabled true 53 | // TODO: Add your own signing config for the release build. 54 | // Signing with the debug keys for now, so `flutter run --release` works. 55 | signingConfig signingConfigs.debug 56 | minifyEnabled true 57 | useProguard true 58 | 59 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 60 | } 61 | } 62 | } 63 | 64 | flutter { 65 | source '../..' 66 | } 67 | 68 | dependencies { 69 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 70 | implementation 'com.google.firebase:firebase-analytics:17.2.2' 71 | testImplementation 'junit:junit:4.12' 72 | androidTestImplementation 'androidx.test.ext:junit:1.1.1' 73 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0' 74 | implementation 'com.google.firebase:firebase-messaging:20.2.0' 75 | } 76 | -------------------------------------------------------------------------------- /android/app/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "912352641790", 4 | "firebase_url": "https://mental-health-app-c259a.firebaseio.com", 5 | "project_id": "mental-health-app-c259a", 6 | "storage_bucket": "mental-health-app-c259a.appspot.com" 7 | }, 8 | "client": [ 9 | { 10 | "client_info": { 11 | "mobilesdk_app_id": "1:912352641790:android:a02858c5ea882a7ba8dbaf", 12 | "android_client_info": { 13 | "package_name": "com.envisionmspc.mentalHealthApp" 14 | } 15 | }, 16 | "oauth_client": [ 17 | { 18 | "client_id": "912352641790-95gdduc5v7d40d1a1rtgnennklbrl1mu.apps.googleusercontent.com", 19 | "client_type": 3 20 | } 21 | ], 22 | "api_key": [ 23 | { 24 | "current_key": "AIzaSyD3hrxcy8VmC1WLx-iu6mjIMACJIXRH7kY" 25 | } 26 | ], 27 | "services": { 28 | "appinvite_service": { 29 | "other_platform_oauth_client": [ 30 | { 31 | "client_id": "912352641790-95gdduc5v7d40d1a1rtgnennklbrl1mu.apps.googleusercontent.com", 32 | "client_type": 3 33 | }, 34 | { 35 | "client_id": "912352641790-n82hjcpv4t08jlp4pd65buqq5mfhd14r.apps.googleusercontent.com", 36 | "client_type": 2, 37 | "ios_info": { 38 | "bundle_id": "com.envisionmspc.mentalHealthApp" 39 | } 40 | } 41 | ] 42 | } 43 | } 44 | } 45 | ], 46 | "configuration_version": "1" 47 | } -------------------------------------------------------------------------------- /android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | #Flutter Wrapper 2 | -keep class com.shockwave.** -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 10 | 15 | 22 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/envisionmspc/mentalHealthApp/Application.kt: -------------------------------------------------------------------------------- 1 | package com.envisionmspc.mentalHealthApp 2 | 3 | import io.flutter.app.FlutterApplication; 4 | import io.flutter.plugin.common.PluginRegistry; 5 | import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback; 6 | import io.flutter.plugins.GeneratedPluginRegistrant; 7 | import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService; 8 | 9 | class Application : FlutterApplication(), PluginRegistrantCallback { 10 | 11 | override fun onCreate() { 12 | super.onCreate() 13 | FlutterFirebaseMessagingService.setPluginRegistrant(this) 14 | } 15 | 16 | override fun registerWith(registry: PluginRegistry) { 17 | GeneratedPluginRegistrant.registerWith(registry) 18 | } 19 | } -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/envisionmspc/mentalHealthApp/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.envisionmspc.mentalHealthApp 2 | 3 | import android.os.Bundle 4 | 5 | import io.flutter.app.FlutterActivity 6 | import io.flutter.plugins.GeneratedPluginRegistrant 7 | 8 | class MainActivity: FlutterActivity() { 9 | override fun onCreate(savedInstanceState: Bundle?) { 10 | super.onCreate(savedInstanceState) 11 | GeneratedPluginRegistrant.registerWith(this) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /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/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.2.71' 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:3.2.1' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | classpath 'com.google.gms:google-services:4.2.0' 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 | } 26 | subprojects { 27 | project.evaluationDependsOn(':app') 28 | } 29 | 30 | task clean(type: Delete) { 31 | delete rootProject.buildDir 32 | } 33 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | 3 | android.enableR8=true 4 | android.useAndroidX=true 5 | android.enableJetifier=true 6 | -------------------------------------------------------------------------------- /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-4.10.2-all.zip 7 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() 4 | 5 | def plugins = new Properties() 6 | def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') 7 | if (pluginsFile.exists()) { 8 | pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } 9 | } 10 | 11 | plugins.each { name, path -> 12 | def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() 13 | include ":$name" 14 | project(":$name").projectDir = pluginDirectory 15 | } 16 | -------------------------------------------------------------------------------- /assets/Consent Form.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/Consent Form.pdf -------------------------------------------------------------------------------- /assets/DASS21FINAL_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_1.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_10.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_11.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_12.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_13.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_14.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_15.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_16.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_17.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_18.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_19.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_2.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_20.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_21.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_3.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_4.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_5.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_6.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_7.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_8.png -------------------------------------------------------------------------------- /assets/DASS21FINAL_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/DASS21FINAL_9.png -------------------------------------------------------------------------------- /assets/GAD7_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/GAD7_1.png -------------------------------------------------------------------------------- /assets/GAD7_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/GAD7_2.png -------------------------------------------------------------------------------- /assets/GAD7_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/GAD7_3.png -------------------------------------------------------------------------------- /assets/GAD7_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/GAD7_4.png -------------------------------------------------------------------------------- /assets/GAD7_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/GAD7_5.png -------------------------------------------------------------------------------- /assets/GAD7_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/GAD7_6.png -------------------------------------------------------------------------------- /assets/GAD7_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/GAD7_7.png -------------------------------------------------------------------------------- /assets/Get Help Now.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/Get Help Now.pdf -------------------------------------------------------------------------------- /assets/Know the Team.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/Know the Team.pdf -------------------------------------------------------------------------------- /assets/Onboarding1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/Onboarding1.png -------------------------------------------------------------------------------- /assets/Onboarding2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/Onboarding2.png -------------------------------------------------------------------------------- /assets/Onboarding3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/Onboarding3.png -------------------------------------------------------------------------------- /assets/Onboarding4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/Onboarding4.png -------------------------------------------------------------------------------- /assets/PHQ-9iconsFINAL_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9iconsFINAL_1.png -------------------------------------------------------------------------------- /assets/PHQ-9iconsFINAL_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9iconsFINAL_2.png -------------------------------------------------------------------------------- /assets/PHQ-9iconsFINAL_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9iconsFINAL_3.png -------------------------------------------------------------------------------- /assets/PHQ-9iconsFINAL_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9iconsFINAL_4.png -------------------------------------------------------------------------------- /assets/PHQ-9iconsFINAL_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9iconsFINAL_5.png -------------------------------------------------------------------------------- /assets/PHQ-9iconsFINAL_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9iconsFINAL_6.png -------------------------------------------------------------------------------- /assets/PHQ-9iconsFINAL_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9iconsFINAL_7.png -------------------------------------------------------------------------------- /assets/PHQ-9iconsFINAL_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9iconsFINAL_8.png -------------------------------------------------------------------------------- /assets/PHQ-9iconsFINAL_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9iconsFINAL_9.png -------------------------------------------------------------------------------- /assets/PHQ-9icons_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9icons_1.png -------------------------------------------------------------------------------- /assets/PHQ-9icons_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9icons_2.png -------------------------------------------------------------------------------- /assets/PHQ-9icons_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9icons_3.png -------------------------------------------------------------------------------- /assets/PHQ-9icons_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9icons_4.png -------------------------------------------------------------------------------- /assets/PHQ-9icons_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9icons_5.png -------------------------------------------------------------------------------- /assets/PHQ-9icons_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9icons_6.png -------------------------------------------------------------------------------- /assets/PHQ-9icons_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9icons_7.png -------------------------------------------------------------------------------- /assets/PHQ-9icons_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/PHQ-9icons_8.png -------------------------------------------------------------------------------- /assets/bace-DrManik_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_1.png -------------------------------------------------------------------------------- /assets/bace-DrManik_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_10.png -------------------------------------------------------------------------------- /assets/bace-DrManik_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_11.png -------------------------------------------------------------------------------- /assets/bace-DrManik_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_12.png -------------------------------------------------------------------------------- /assets/bace-DrManik_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_13.png -------------------------------------------------------------------------------- /assets/bace-DrManik_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_14.png -------------------------------------------------------------------------------- /assets/bace-DrManik_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_15.png -------------------------------------------------------------------------------- /assets/bace-DrManik_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_16.png -------------------------------------------------------------------------------- /assets/bace-DrManik_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_17.png -------------------------------------------------------------------------------- /assets/bace-DrManik_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_18.png -------------------------------------------------------------------------------- /assets/bace-DrManik_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_19.png -------------------------------------------------------------------------------- /assets/bace-DrManik_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_2.png -------------------------------------------------------------------------------- /assets/bace-DrManik_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_20.png -------------------------------------------------------------------------------- /assets/bace-DrManik_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_21.png -------------------------------------------------------------------------------- /assets/bace-DrManik_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_22.png -------------------------------------------------------------------------------- /assets/bace-DrManik_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_23.png -------------------------------------------------------------------------------- /assets/bace-DrManik_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_24.png -------------------------------------------------------------------------------- /assets/bace-DrManik_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_25.png -------------------------------------------------------------------------------- /assets/bace-DrManik_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_26.png -------------------------------------------------------------------------------- /assets/bace-DrManik_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_27.png -------------------------------------------------------------------------------- /assets/bace-DrManik_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_3.png -------------------------------------------------------------------------------- /assets/bace-DrManik_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_4.png -------------------------------------------------------------------------------- /assets/bace-DrManik_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_5.png -------------------------------------------------------------------------------- /assets/bace-DrManik_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_6.png -------------------------------------------------------------------------------- /assets/bace-DrManik_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_7.png -------------------------------------------------------------------------------- /assets/bace-DrManik_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_8.png -------------------------------------------------------------------------------- /assets/bace-DrManik_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/bace-DrManik_9.png -------------------------------------------------------------------------------- /assets/checklist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/checklist.png -------------------------------------------------------------------------------- /assets/dass-timer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/dass-timer.png -------------------------------------------------------------------------------- /assets/dob-info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/dob-info.png -------------------------------------------------------------------------------- /assets/envision.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/envision.png -------------------------------------------------------------------------------- /assets/false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/false.png -------------------------------------------------------------------------------- /assets/fluency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/fluency.png -------------------------------------------------------------------------------- /assets/gender1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/gender1.png -------------------------------------------------------------------------------- /assets/gender2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/gender2.png -------------------------------------------------------------------------------- /assets/gender3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/gender3.png -------------------------------------------------------------------------------- /assets/gendercom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/gendercom.png -------------------------------------------------------------------------------- /assets/gendercomf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/gendercomf.png -------------------------------------------------------------------------------- /assets/hardtowinddown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/hardtowinddown.png -------------------------------------------------------------------------------- /assets/heart.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/heart.jpeg -------------------------------------------------------------------------------- /assets/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/heart.png -------------------------------------------------------------------------------- /assets/hometown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/hometown.png -------------------------------------------------------------------------------- /assets/icon_anxiety.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/icon_anxiety.png -------------------------------------------------------------------------------- /assets/icon_depression.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/icon_depression.png -------------------------------------------------------------------------------- /assets/icon_no problems.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/icon_no problems.png -------------------------------------------------------------------------------- /assets/icon_privacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/icon_privacy.png -------------------------------------------------------------------------------- /assets/icon_stress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/icon_stress.png -------------------------------------------------------------------------------- /assets/living.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/living.png -------------------------------------------------------------------------------- /assets/mainlogo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/mainlogo.jpeg -------------------------------------------------------------------------------- /assets/mainlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/mainlogo.png -------------------------------------------------------------------------------- /assets/mf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/mf.png -------------------------------------------------------------------------------- /assets/mothertoungue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/mothertoungue.png -------------------------------------------------------------------------------- /assets/mouthdryness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/mouthdryness.png -------------------------------------------------------------------------------- /assets/mspc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/mspc.png -------------------------------------------------------------------------------- /assets/mspcnew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/mspcnew.png -------------------------------------------------------------------------------- /assets/news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/news.png -------------------------------------------------------------------------------- /assets/no positive feeling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/no positive feeling.png -------------------------------------------------------------------------------- /assets/prevpsychhelp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/prevpsychhelp.png -------------------------------------------------------------------------------- /assets/question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/question.png -------------------------------------------------------------------------------- /assets/sdrs_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/sdrs_1.png -------------------------------------------------------------------------------- /assets/sdrs_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/sdrs_2.png -------------------------------------------------------------------------------- /assets/sdrs_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/sdrs_3.png -------------------------------------------------------------------------------- /assets/sdrs_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/sdrs_4.png -------------------------------------------------------------------------------- /assets/sdrs_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/sdrs_5.png -------------------------------------------------------------------------------- /assets/sociodemo_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/sociodemo_1.png -------------------------------------------------------------------------------- /assets/sociodemo_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/sociodemo_2.png -------------------------------------------------------------------------------- /assets/sociodemo_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/sociodemo_3.png -------------------------------------------------------------------------------- /assets/sociodemo_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/sociodemo_4.png -------------------------------------------------------------------------------- /assets/timer_1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_1-3.png -------------------------------------------------------------------------------- /assets/timer_1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_1-4.png -------------------------------------------------------------------------------- /assets/timer_1-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_1-5.png -------------------------------------------------------------------------------- /assets/timer_2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_2-3.png -------------------------------------------------------------------------------- /assets/timer_2-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_2-4.png -------------------------------------------------------------------------------- /assets/timer_2-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_2-5.png -------------------------------------------------------------------------------- /assets/timer_3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_3-3.png -------------------------------------------------------------------------------- /assets/timer_3-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_3-4.png -------------------------------------------------------------------------------- /assets/timer_3-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_3-5.png -------------------------------------------------------------------------------- /assets/timer_4-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_4-4.png -------------------------------------------------------------------------------- /assets/timer_4-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_4-5.png -------------------------------------------------------------------------------- /assets/timer_5-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/timer_5-5.png -------------------------------------------------------------------------------- /assets/true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/true.png -------------------------------------------------------------------------------- /assets/who.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/assets/who.png -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 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 | 8.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/Flutter.podspec: -------------------------------------------------------------------------------- 1 | # 2 | # NOTE: This podspec is NOT to be published. It is only used as a local source! 3 | # 4 | 5 | Pod::Spec.new do |s| 6 | s.name = 'Flutter' 7 | s.version = '1.0.0' 8 | s.summary = 'High-performance, high-fidelity mobile apps.' 9 | s.description = <<-DESC 10 | Flutter provides an easy and productive way to build and deploy high-performance mobile apps for Android and iOS. 11 | DESC 12 | s.homepage = 'https://flutter.io' 13 | s.license = { :type => 'MIT' } 14 | s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } 15 | s.source = { :git => 'https://github.com/flutter/engine', :tag => s.version.to_s } 16 | s.ios.deployment_target = '8.0' 17 | s.vendored_frameworks = 'Flutter.framework' 18 | end 19 | -------------------------------------------------------------------------------- /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, '9.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 parse_KV_file(file, separator='=') 14 | file_abs_path = File.expand_path(file) 15 | if !File.exists? file_abs_path 16 | return []; 17 | end 18 | generated_key_values = {} 19 | skip_line_start_symbols = ["#", "/"] 20 | File.foreach(file_abs_path) do |line| 21 | next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } 22 | plugin = line.split(pattern=separator) 23 | if plugin.length == 2 24 | podname = plugin[0].strip() 25 | path = plugin[1].strip() 26 | podpath = File.expand_path("#{path}", file_abs_path) 27 | generated_key_values[podname] = podpath 28 | else 29 | puts "Invalid plugin specification: #{line}" 30 | end 31 | end 32 | generated_key_values 33 | end 34 | 35 | target 'Runner' do 36 | use_frameworks! 37 | use_modular_headers! 38 | 39 | # Flutter Pod 40 | 41 | copied_flutter_dir = File.join(__dir__, 'Flutter') 42 | copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework') 43 | copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec') 44 | unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path) 45 | # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet. 46 | # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration. 47 | # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist. 48 | 49 | generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig') 50 | unless File.exist?(generated_xcode_build_settings_path) 51 | raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first" 52 | end 53 | generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path) 54 | cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR']; 55 | 56 | unless File.exist?(copied_framework_path) 57 | FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir) 58 | end 59 | unless File.exist?(copied_podspec_path) 60 | FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir) 61 | end 62 | end 63 | 64 | # Keep pod path relative so it can be checked into Podfile.lock. 65 | pod 'Flutter', :path => 'Flutter' 66 | 67 | # Plugin Pods 68 | 69 | # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock 70 | # referring to absolute paths on developers' machines. 71 | system('rm -rf .symlinks') 72 | system('mkdir -p .symlinks/plugins') 73 | plugin_pods = parse_KV_file('../.flutter-plugins') 74 | plugin_pods.each do |name, path| 75 | symlink = File.join('.symlinks', 'plugins', name) 76 | File.symlink(path, symlink) 77 | pod name, :path => File.join(symlink, 'ios') 78 | end 79 | end 80 | 81 | post_install do |installer| 82 | installer.pods_project.targets.each do |target| 83 | target.build_configurations.each do |config| 84 | config.build_settings['ENABLE_BITCODE'] = 'NO' 85 | end 86 | end 87 | end 88 | -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Firebase/Core (6.26.0): 3 | - Firebase/CoreOnly 4 | - FirebaseAnalytics (= 6.6.0) 5 | - Firebase/CoreOnly (6.26.0): 6 | - FirebaseCore (= 6.7.2) 7 | - Firebase/Database (6.26.0): 8 | - Firebase/CoreOnly 9 | - FirebaseDatabase (~> 6.2.1) 10 | - Firebase/Messaging (6.26.0): 11 | - Firebase/CoreOnly 12 | - FirebaseMessaging (~> 4.4.1) 13 | - firebase_core (0.0.1): 14 | - Firebase/Core 15 | - Flutter 16 | - firebase_core_web (0.1.0): 17 | - Flutter 18 | - firebase_database (0.0.1): 19 | - Firebase/Database 20 | - Flutter 21 | - firebase_messaging (0.0.1): 22 | - Firebase/Core 23 | - Firebase/Messaging 24 | - Flutter 25 | - FirebaseAnalytics (6.6.0): 26 | - FirebaseCore (~> 6.7) 27 | - FirebaseInstallations (~> 1.3) 28 | - GoogleAppMeasurement (= 6.6.0) 29 | - GoogleUtilities/AppDelegateSwizzler (~> 6.0) 30 | - GoogleUtilities/MethodSwizzler (~> 6.0) 31 | - GoogleUtilities/Network (~> 6.0) 32 | - "GoogleUtilities/NSData+zlib (~> 6.0)" 33 | - nanopb (~> 1.30905.0) 34 | - FirebaseAnalyticsInterop (1.5.0) 35 | - FirebaseAuthInterop (1.1.0) 36 | - FirebaseCore (6.7.2): 37 | - FirebaseCoreDiagnostics (~> 1.3) 38 | - FirebaseCoreDiagnosticsInterop (~> 1.2) 39 | - GoogleUtilities/Environment (~> 6.5) 40 | - GoogleUtilities/Logger (~> 6.5) 41 | - FirebaseCoreDiagnostics (1.3.0): 42 | - FirebaseCoreDiagnosticsInterop (~> 1.2) 43 | - GoogleDataTransportCCTSupport (~> 3.1) 44 | - GoogleUtilities/Environment (~> 6.5) 45 | - GoogleUtilities/Logger (~> 6.5) 46 | - nanopb (~> 1.30905.0) 47 | - FirebaseCoreDiagnosticsInterop (1.2.0) 48 | - FirebaseDatabase (6.2.1): 49 | - FirebaseAuthInterop (~> 1.0) 50 | - FirebaseCore (~> 6.0) 51 | - leveldb-library (~> 1.22) 52 | - FirebaseInstallations (1.3.0): 53 | - FirebaseCore (~> 6.6) 54 | - GoogleUtilities/Environment (~> 6.6) 55 | - GoogleUtilities/UserDefaults (~> 6.6) 56 | - PromisesObjC (~> 1.2) 57 | - FirebaseInstanceID (4.3.4): 58 | - FirebaseCore (~> 6.6) 59 | - FirebaseInstallations (~> 1.0) 60 | - GoogleUtilities/Environment (~> 6.5) 61 | - GoogleUtilities/UserDefaults (~> 6.5) 62 | - FirebaseMessaging (4.4.1): 63 | - FirebaseAnalyticsInterop (~> 1.5) 64 | - FirebaseCore (~> 6.6) 65 | - FirebaseInstanceID (~> 4.3) 66 | - GoogleUtilities/AppDelegateSwizzler (~> 6.5) 67 | - GoogleUtilities/Environment (~> 6.5) 68 | - GoogleUtilities/Reachability (~> 6.5) 69 | - GoogleUtilities/UserDefaults (~> 6.5) 70 | - Protobuf (>= 3.9.2, ~> 3.9) 71 | - Flutter (1.0.0) 72 | - flutter_webview_plugin (0.0.1): 73 | - Flutter 74 | - GoogleAppMeasurement (6.6.0): 75 | - GoogleUtilities/AppDelegateSwizzler (~> 6.0) 76 | - GoogleUtilities/MethodSwizzler (~> 6.0) 77 | - GoogleUtilities/Network (~> 6.0) 78 | - "GoogleUtilities/NSData+zlib (~> 6.0)" 79 | - nanopb (~> 1.30905.0) 80 | - GoogleDataTransport (6.2.1) 81 | - GoogleDataTransportCCTSupport (3.1.0): 82 | - GoogleDataTransport (~> 6.1) 83 | - nanopb (~> 1.30905.0) 84 | - GoogleUtilities/AppDelegateSwizzler (6.6.0): 85 | - GoogleUtilities/Environment 86 | - GoogleUtilities/Logger 87 | - GoogleUtilities/Network 88 | - GoogleUtilities/Environment (6.6.0): 89 | - PromisesObjC (~> 1.2) 90 | - GoogleUtilities/Logger (6.6.0): 91 | - GoogleUtilities/Environment 92 | - GoogleUtilities/MethodSwizzler (6.6.0): 93 | - GoogleUtilities/Logger 94 | - GoogleUtilities/Network (6.6.0): 95 | - GoogleUtilities/Logger 96 | - "GoogleUtilities/NSData+zlib" 97 | - GoogleUtilities/Reachability 98 | - "GoogleUtilities/NSData+zlib (6.6.0)" 99 | - GoogleUtilities/Reachability (6.6.0): 100 | - GoogleUtilities/Logger 101 | - GoogleUtilities/UserDefaults (6.6.0): 102 | - GoogleUtilities/Logger 103 | - leveldb-library (1.22) 104 | - nanopb (1.30905.0): 105 | - nanopb/decode (= 1.30905.0) 106 | - nanopb/encode (= 1.30905.0) 107 | - nanopb/decode (1.30905.0) 108 | - nanopb/encode (1.30905.0) 109 | - PromisesObjC (1.2.9) 110 | - Protobuf (3.12.0) 111 | - shared_preferences (0.0.1): 112 | - Flutter 113 | - shared_preferences_macos (0.0.1): 114 | - Flutter 115 | - shared_preferences_web (0.0.1): 116 | - Flutter 117 | - url_launcher (0.0.1): 118 | - Flutter 119 | - url_launcher_macos (0.0.1): 120 | - Flutter 121 | - url_launcher_web (0.0.1): 122 | - Flutter 123 | 124 | DEPENDENCIES: 125 | - firebase_core (from `.symlinks/plugins/firebase_core/ios`) 126 | - firebase_core_web (from `.symlinks/plugins/firebase_core_web/ios`) 127 | - firebase_database (from `.symlinks/plugins/firebase_database/ios`) 128 | - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) 129 | - Flutter (from `Flutter`) 130 | - flutter_webview_plugin (from `.symlinks/plugins/flutter_webview_plugin/ios`) 131 | - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) 132 | - shared_preferences_macos (from `.symlinks/plugins/shared_preferences_macos/ios`) 133 | - shared_preferences_web (from `.symlinks/plugins/shared_preferences_web/ios`) 134 | - url_launcher (from `.symlinks/plugins/url_launcher/ios`) 135 | - url_launcher_macos (from `.symlinks/plugins/url_launcher_macos/ios`) 136 | - url_launcher_web (from `.symlinks/plugins/url_launcher_web/ios`) 137 | 138 | SPEC REPOS: 139 | https://github.com/CocoaPods/Specs.git: 140 | - Firebase 141 | - FirebaseAnalytics 142 | - FirebaseAnalyticsInterop 143 | - FirebaseAuthInterop 144 | - FirebaseCore 145 | - FirebaseCoreDiagnostics 146 | - FirebaseCoreDiagnosticsInterop 147 | - FirebaseDatabase 148 | - FirebaseInstallations 149 | - FirebaseInstanceID 150 | - FirebaseMessaging 151 | - GoogleAppMeasurement 152 | - GoogleDataTransport 153 | - GoogleDataTransportCCTSupport 154 | - GoogleUtilities 155 | - leveldb-library 156 | - nanopb 157 | - PromisesObjC 158 | - Protobuf 159 | 160 | EXTERNAL SOURCES: 161 | firebase_core: 162 | :path: ".symlinks/plugins/firebase_core/ios" 163 | firebase_core_web: 164 | :path: ".symlinks/plugins/firebase_core_web/ios" 165 | firebase_database: 166 | :path: ".symlinks/plugins/firebase_database/ios" 167 | firebase_messaging: 168 | :path: ".symlinks/plugins/firebase_messaging/ios" 169 | Flutter: 170 | :path: Flutter 171 | flutter_webview_plugin: 172 | :path: ".symlinks/plugins/flutter_webview_plugin/ios" 173 | shared_preferences: 174 | :path: ".symlinks/plugins/shared_preferences/ios" 175 | shared_preferences_macos: 176 | :path: ".symlinks/plugins/shared_preferences_macos/ios" 177 | shared_preferences_web: 178 | :path: ".symlinks/plugins/shared_preferences_web/ios" 179 | url_launcher: 180 | :path: ".symlinks/plugins/url_launcher/ios" 181 | url_launcher_macos: 182 | :path: ".symlinks/plugins/url_launcher_macos/ios" 183 | url_launcher_web: 184 | :path: ".symlinks/plugins/url_launcher_web/ios" 185 | 186 | SPEC CHECKSUMS: 187 | Firebase: 7cf5f9c67f03cb3b606d1d6535286e1080e57eb6 188 | firebase_core: 335c02abd48672b7c83c683df833d0488a72e73e 189 | firebase_core_web: d501d8b946b60c8af265428ce483b0fff5ad52d1 190 | firebase_database: 88085c38a41ad0b5c3c611ede7205831a2ece844 191 | firebase_messaging: 21344b3b3a7d9d325d63a70e3750c0c798fe1e03 192 | FirebaseAnalytics: 96634d356482d4f3af8fe459a0ebf19a99c71b75 193 | FirebaseAnalyticsInterop: 3f86269c38ae41f47afeb43ebf32a001f58fcdae 194 | FirebaseAuthInterop: a0f37ae05833af156e72028f648d313f7e7592e9 195 | FirebaseCore: f42e5e5f382cdcf6b617ed737bf6c871a6947b17 196 | FirebaseCoreDiagnostics: 4a773a47bd83bbd5a9b1ccf1ce7caa8b2d535e67 197 | FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850 198 | FirebaseDatabase: 4e99c0c475d1ee0aa64ae2b53c93f80b7b60d7d9 199 | FirebaseInstallations: 6f5f680e65dc374397a483c32d1799ba822a395b 200 | FirebaseInstanceID: cef67c4967c7cecb56ea65d8acbb4834825c587b 201 | FirebaseMessaging: 29543feb343b09546ab3aa04d008ee8595b43c44 202 | Flutter: 0e3d915762c693b495b44d77113d4970485de6ec 203 | flutter_webview_plugin: ed9e8a6a96baf0c867e90e1bce2673913eeac694 204 | GoogleAppMeasurement: 67458367830514fb20fd9e233496f1eef9d90185 205 | GoogleDataTransport: 9a8a16f79feffc7f42096743de2a7c4815e84020 206 | GoogleDataTransportCCTSupport: d70a561f7d236af529fee598835caad5e25f6d3d 207 | GoogleUtilities: 39530bc0ad980530298e9c4af8549e991fd033b1 208 | leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7 209 | nanopb: c43f40fadfe79e8b8db116583945847910cbabc9 210 | PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75 211 | Protobuf: 2793fcd0622a00b546c60e7cbbcc493e043e9bb9 212 | shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d 213 | shared_preferences_macos: f3f29b71ccbb56bf40c9dd6396c9acf15e214087 214 | shared_preferences_web: 141cce0c3ed1a1c5bf2a0e44f52d31eeb66e5ea9 215 | url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef 216 | url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313 217 | url_launcher_web: e5527357f037c87560776e36436bf2b0288b965c 218 | 219 | PODFILE CHECKSUM: c34e2287a9ccaa606aeceab922830efb9a6ff69a 220 | 221 | COCOAPODS: 1.8.1 222 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /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/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-40.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "icon-60.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "icon-58.png", 19 | "scale" : "2x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "icon-87.png", 25 | "scale" : "3x" 26 | }, 27 | { 28 | "size" : "40x40", 29 | "idiom" : "iphone", 30 | "filename" : "icon-80.png", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "icon-120.png", 37 | "scale" : "3x" 38 | }, 39 | { 40 | "size" : "60x60", 41 | "idiom" : "iphone", 42 | "filename" : "icon-120.png", 43 | "scale" : "2x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "icon-180.png", 49 | "scale" : "3x" 50 | }, 51 | { 52 | "size" : "1024x1024", 53 | "idiom" : "ios-marketing", 54 | "filename" : "icon-1024.png", 55 | "scale" : "1x" 56 | } 57 | ], 58 | "info" : { 59 | "version" : 1, 60 | "author" : "xcode" 61 | } 62 | } -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-120.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-180.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-58.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-80.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-87.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /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 | 912352641790-n82hjcpv4t08jlp4pd65buqq5mfhd14r.apps.googleusercontent.com 7 | REVERSED_CLIENT_ID 8 | com.googleusercontent.apps.912352641790-n82hjcpv4t08jlp4pd65buqq5mfhd14r 9 | API_KEY 10 | AIzaSyAhUdevRwXv-gGulNnAyuIgH9GMXU7ef4Y 11 | GCM_SENDER_ID 12 | 912352641790 13 | PLIST_VERSION 14 | 1 15 | BUNDLE_ID 16 | com.envisionmspc.mentalHealthApp 17 | PROJECT_ID 18 | mental-health-app-c259a 19 | STORAGE_BUCKET 20 | mental-health-app-c259a.appspot.com 21 | IS_ADS_ENABLED 22 | 23 | IS_ANALYTICS_ENABLED 24 | 25 | IS_APPINVITE_ENABLED 26 | 27 | IS_GCM_ENABLED 28 | 29 | IS_SIGNIN_ENABLED 30 | 31 | GOOGLE_APP_ID 32 | 1:912352641790:ios:5c02ccec2de1b741a8dbaf 33 | DATABASE_URL 34 | https://mental-health-app-c259a.firebaseio.com 35 | 36 | -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | Here for You 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | $(FLUTTER_BUILD_NAME) 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(FLUTTER_BUILD_NUMBER) 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | 33 | UISupportedInterfaceOrientations~ipad 34 | 35 | UIInterfaceOrientationPortrait 36 | 37 | UIViewControllerBasedStatusBarAppearance 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" -------------------------------------------------------------------------------- /lib/ArticlesPage.dart: -------------------------------------------------------------------------------- 1 | 2 | import 'package:flutter/material.dart'; 3 | import 'package:url_launcher/url_launcher.dart'; 4 | 5 | import 'Showup.dart'; 6 | import 'main.dart'; 7 | 8 | 9 | class ArticlePage extends StatefulWidget { 10 | @override 11 | _ArticlePageState createState() => _ArticlePageState(); 12 | } 13 | 14 | class _ArticlePageState extends State { 15 | 16 | 17 | Future> _getArticleDeets() async { 18 | 19 | List articles = [ 20 | ArticleDetails("Everything you need to know about depression.","https://www.psychiatry.org/patients-families/depression/what-is-depression"), 21 | ArticleDetails("What are Anxiety Disorders?","https://www.nimh.nih.gov/health/topics/anxiety-disorders/index.shtml"), 22 | ArticleDetails("Learn how stress affects your health.","https://www.apa.org/topics/stress-health"), 23 | ArticleDetails("Natural remedies for anxiety.","https://www.healthline.com/health/natural-ways-to-reduce-anxiety"), 24 | ArticleDetails("Alleviate Stress within Minutes.","https://www.helpguide.org/articles/stress/quick-stress-relief.htm"), 25 | ArticleDetails("Know how to be happier.","https://www.nhs.uk/conditions/stress-anxiety-depression/feel-better-and-happy/"), 26 | ArticleDetails("Types of mental health problems.","https://www.mind.org.uk/information-support/types-of-mental-health-problems/"), 27 | ArticleDetails("The live love laugh foundation.","https://www.thelivelovelaughfoundation.org/#ourfocus") 28 | ]; 29 | 30 | return articles; 31 | } 32 | 33 | @override 34 | Widget build(BuildContext context) { 35 | 36 | var _width = MediaQuery.of(context).size.width; 37 | var _height = MediaQuery.of(context).size.height; 38 | 39 | 40 | return Scaffold( 41 | floatingActionButton: FloatingActionButton(onPressed: (){ 42 | Navigator.push( 43 | context, 44 | MaterialPageRoute( 45 | builder: (context) => MyApp())); 46 | }, 47 | child: Icon(Icons.home), 48 | backgroundColor: Colors.teal, 49 | ), 50 | body: Container( 51 | color: Colors.white, 52 | child: ListView( 53 | children: [ 54 | SizedBox(height: _height/70,), 55 | 56 | Padding( 57 | padding: EdgeInsets.only(left: _width/20), 58 | child: Text("Articles",style: TextStyle( 59 | color: Colors.teal, 60 | fontWeight: FontWeight.bold, 61 | fontSize: _width/13 62 | ),), 63 | ), 64 | Padding( 65 | padding: EdgeInsets.only(left: _width/20), 66 | child: Text("to get you going!",style: TextStyle( 67 | color: Colors.teal, 68 | fontWeight: FontWeight.bold, 69 | fontSize: _width/20 70 | ),), 71 | ), 72 | SizedBox(height: _height/30,), 73 | 74 | Container( 75 | height: _height*0.9, 76 | child: FutureBuilder( 77 | future: _getArticleDeets(), 78 | builder: (BuildContext context, AsyncSnapshot snapshot){ 79 | if(snapshot.data == null){ 80 | return Center( 81 | child: CircularProgressIndicator(), 82 | ); 83 | } 84 | else { 85 | return ListView.builder( 86 | physics: ClampingScrollPhysics(), 87 | itemCount: snapshot.data.length??0, 88 | itemBuilder: (BuildContext context, int index){ 89 | return Column( 90 | children: [ 91 | ListTile( 92 | leading: Icon(Icons.attach_file,size: _width/18, color: Colors.black,), 93 | title: Text(snapshot.data[index].title,style: TextStyle( 94 | fontSize: _width/23, 95 | fontWeight: FontWeight.bold, 96 | color: Colors.black 97 | ),), 98 | onTap: () async { 99 | launch(snapshot.data[index].url); 100 | }, 101 | ), 102 | Divider(), 103 | ], 104 | ); 105 | } 106 | ); 107 | } 108 | }, 109 | ), 110 | ), 111 | ], 112 | ), 113 | ), 114 | ); 115 | } 116 | } 117 | 118 | 119 | class ArticleDetails { 120 | 121 | String title,url; 122 | ArticleDetails(this.title,this.url); 123 | } -------------------------------------------------------------------------------- /lib/BACE_Page.dart: -------------------------------------------------------------------------------- 1 | import 'package:firebase_database/firebase_database.dart'; 2 | import 'package:flutter_swiper/flutter_swiper.dart'; 3 | import 'package:mental_health_app/SDRS_Page.dart'; 4 | import 'package:mental_health_app/TimerPage.dart'; 5 | import 'package:mental_health_app/question.dart'; 6 | import 'package:flutter/material.dart'; 7 | import 'package:shared_preferences/shared_preferences.dart'; 8 | import 'package:step_progress_indicator/step_progress_indicator.dart'; 9 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 10 | 11 | import 'Showup.dart'; 12 | 13 | class BACEPage extends StatefulWidget { 14 | @override 15 | _BACEPageState createState() => _BACEPageState(); 16 | } 17 | 18 | class _BACEPageState extends State { 19 | SwiperController _controller = SwiperController(); 20 | List BACE_Questions = [ 21 | Question(), 22 | Question(), 23 | Question(), 24 | Question(), 25 | Question(), 26 | Question(), 27 | Question(), 28 | Question(), 29 | Question(), 30 | Question(), 31 | Question(), 32 | Question(), 33 | Question(), 34 | Question(), 35 | Question(), 36 | Question(), 37 | Question(), 38 | Question(), 39 | Question(), 40 | Question(), 41 | Question(), 42 | Question(), 43 | Question(), 44 | Question(), 45 | Question(), 46 | Question(), 47 | Question(), 48 | ]; 49 | 50 | List questions = [ 51 | "Being unsure where to go to get professional care", 52 | "Wanting to solve the problem on my own", 53 | "Concern that I might be seen as weak for having a mental health problem", 54 | "Fear of being put in hospital against my will", 55 | "Concern that it might harm my chances when applying for jobs", 56 | "Problems with transport or travelling to appointments", 57 | "Thinking the problem would get better by itself", 58 | "Concern about what my family might think, say, do or feel", 59 | "Feeing embarrassed or ashamed", 60 | "Preferring to get alternative forms of care (e.g. traditional / religious healing or alternative / complementary therapies)", 61 | "Not being able to afford the financial costs involved", 62 | "Concern that I might be seen as ‘crazy’", 63 | "Thinking that professional care probably would not help", 64 | "Professionals from my own ethnic or cultural group not being available", 65 | "Being too unwell to ask for help", 66 | "Concern that people I know might find out", 67 | "Dislike of talking about my feelings, emotions or thoughts", 68 | "Concern that people might not take me seriously if they found out I was having professional care", 69 | "Concerns about the treatments available (e.g. medication side effects)", 70 | "Not wanting a mental health problem to be on my medical records", 71 | "Having had previous bad experiences with professional care for mental health", 72 | "Preferring to get help from family or friends", 73 | "Thinking I did not have a problem", 74 | "Concern about what my friends might think, say or do", 75 | "Difficulty taking time off work", 76 | "Concern about what people at work might think, say or do", 77 | "Having no one who could help me get professional care" 78 | ]; 79 | 80 | List qType = [2, 4, 7, 8, 11, 15, 17, 19, 23, 25]; 81 | List randomizecolor = [ 82 | Colors.blue, 83 | Colors.green, 84 | Colors.red, 85 | Colors.purple, 86 | Colors.pink, 87 | Colors.orange 88 | ]; 89 | List randomizecolorlight = [ 90 | Colors.blue[100], 91 | Colors.green[100], 92 | Colors.red[100], 93 | Colors.purple[100], 94 | Colors.pink[100], 95 | Colors.orange[100] 96 | ]; 97 | 98 | List> isselected = 99 | new List.generate(27, (j) => [false, false, false, false]); 100 | int total_a = 0, total_d = 0, total_s = 0; 101 | String result_a, result_d, result_s; 102 | int count = 0; 103 | int total = 0, critical_total = 0; 104 | 105 | var varysize=1; 106 | 107 | _getQuestions() { 108 | for (int i = 0; i < 27; i++) { 109 | BACE_Questions[i] 110 | .getQues(questions[i], 'assets/bace-DrManik_${(i + 1)}.png'); 111 | BACE_Questions[i] 112 | .getOptions("Not at all", "A little", "Quite a lot", "A lot"); 113 | BACE_Questions[i].getColor(randomizecolor[i % 6], randomizecolor[i % 6], 114 | randomizecolor[i % 6], randomizecolor[i % 6]); 115 | BACE_Questions[i].type = 1; 116 | } 117 | qType.forEach((index) { 118 | BACE_Questions[index].type = 2; 119 | }); 120 | } 121 | 122 | @override 123 | void initState() { 124 | super.initState(); 125 | _getQuestions(); 126 | } 127 | 128 | @override 129 | Widget build(BuildContext context) { 130 | return Scaffold( 131 | backgroundColor: Colors.white, 132 | body: Swiper( 133 | onIndexChanged: (index){ 134 | varysize = index+1; 135 | }, 136 | itemCount: 28, 137 | curve: Curves.easeInOutCubic, 138 | scrollDirection: Axis.vertical, 139 | loop: false, 140 | viewportFraction: 0.99, 141 | scale: 0.5, 142 | controller: _controller, 143 | itemBuilder: (BuildContext context, int index) { 144 | if (index < 27) { 145 | return page(BACE_Questions[index], index); 146 | } else if (index == 27) 147 | return summary(context); 148 | else 149 | return null; 150 | }, 151 | ), 152 | ); 153 | } 154 | 155 | Widget page(Question question, int index) { 156 | ScreenUtil.init(context, 157 | allowFontScaling: true); 158 | return Center( 159 | child: Column( 160 | mainAxisSize: MainAxisSize.max, 161 | mainAxisAlignment: MainAxisAlignment.center, 162 | children: [ 163 | ShowUp( 164 | delay: 500, 165 | child: Container( 166 | child: Image( 167 | image: AssetImage(question.imgURL), 168 | height: 350.h, 169 | )), 170 | ), 171 | SizedBox(height: 10.h), 172 | Padding( 173 | padding: EdgeInsets.symmetric(horizontal: 20.w), 174 | child: Text( 175 | question.ques, 176 | textAlign: TextAlign.center, 177 | style: TextStyle( 178 | fontSize: ScreenUtil().setSp(55,allowFontScalingSelf: true), 179 | fontWeight: FontWeight.bold, 180 | color: Colors.black), 181 | ), 182 | ), 183 | SizedBox(height: 10.h), 184 | InkWell( 185 | onTap: () { 186 | _controller.next(); 187 | if (BACE_Questions[index].type == 1) { 188 | total += 0; 189 | } else { 190 | total += 0; 191 | critical_total += 0; 192 | } 193 | setState(() { 194 | BACE_Questions[index].answer = question.opt1; 195 | BACE_Questions[index].points = 0; 196 | isselected[index][0] = true; 197 | isselected[index][1] = false; 198 | isselected[index][2] = false; 199 | isselected[index][3] = false; 200 | }); 201 | }, 202 | child: Card( 203 | elevation: 8, 204 | color: question.opt1Color, 205 | child: ListTile( 206 | leading: 207 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 208 | trailing: isselected[index][0] 209 | ? Icon(Icons.spellcheck, color: Colors.white) 210 | : null, 211 | title: Text( 212 | question.opt1, 213 | style: TextStyle(fontSize: 16, color: Colors.white), 214 | ), 215 | ), 216 | ), 217 | ), 218 | InkWell( 219 | onTap: () { 220 | _controller.next(); 221 | if (BACE_Questions[index].type == 1) { 222 | total += 1; 223 | } else { 224 | total += 1; 225 | critical_total += 1; 226 | } 227 | setState(() { 228 | BACE_Questions[index].answer = question.opt2; 229 | BACE_Questions[index].points = 1; 230 | isselected[index][0] = false; 231 | isselected[index][1] = true; 232 | isselected[index][2] = false; 233 | isselected[index][3] = false; 234 | }); 235 | }, 236 | child: Card( 237 | elevation: 8, 238 | color: question.opt2Color, 239 | child: ListTile( 240 | leading: 241 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 242 | trailing: isselected[index][1] 243 | ? Icon(Icons.spellcheck, color: Colors.white) 244 | : null, 245 | title: Text( 246 | question.opt2, 247 | style: TextStyle(fontSize: 16, color: Colors.white), 248 | ), 249 | ), 250 | ), 251 | ), 252 | InkWell( 253 | onTap: () { 254 | _controller.next(); 255 | if (BACE_Questions[index].type == 1) { 256 | total += 2; 257 | } else { 258 | total += 2; 259 | critical_total += 2; 260 | } 261 | setState(() { 262 | BACE_Questions[index].answer = question.opt3; 263 | BACE_Questions[index].points = 2; 264 | isselected[index][0] = false; 265 | isselected[index][1] = false; 266 | isselected[index][2] = true; 267 | isselected[index][3] = false; 268 | }); 269 | }, 270 | child: Card( 271 | elevation: 8, 272 | color: question.opt3Color, 273 | child: ListTile( 274 | leading: 275 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 276 | trailing: isselected[index][2] 277 | ? Icon(Icons.spellcheck, color: Colors.white) 278 | : null, 279 | title: Text( 280 | question.opt3, 281 | style: TextStyle(fontSize: 16, color: Colors.white), 282 | ), 283 | ), 284 | ), 285 | ), 286 | InkWell( 287 | onTap: () { 288 | _controller.next(); 289 | if (BACE_Questions[index].type == 1) { 290 | total += 3; 291 | } else { 292 | total += 3; 293 | critical_total += 3; 294 | } 295 | setState(() { 296 | BACE_Questions[index].answer = question.opt4; 297 | BACE_Questions[index].points = 3; 298 | isselected[index][0] = false; 299 | isselected[index][1] = false; 300 | isselected[index][2] = false; 301 | isselected[index][3] = true; 302 | }); 303 | }, 304 | child: Card( 305 | elevation: 8, 306 | color: question.opt4Color, 307 | child: ListTile( 308 | leading: 309 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 310 | trailing: isselected[index][3] 311 | ? Icon(Icons.spellcheck, color: Colors.white) 312 | : null, 313 | title: Text( 314 | question.opt4, 315 | style: TextStyle(fontSize: 16, color: Colors.white), 316 | ), 317 | ), 318 | ), 319 | ), 320 | Container( 321 | height: 80.h, 322 | width: MediaQuery.of(context).size.width, 323 | child: Padding( 324 | padding: EdgeInsets.symmetric(horizontal: 10.w), 325 | child: StepProgressIndicator( 326 | totalSteps: 27, 327 | height: 10.h, 328 | //currentStep: index, 329 | //selectedColor: randomizecolor[index % 6], 330 | //unselectedColor: randomizecolorlight[index % 6], 331 | customColor: (index) => isselected[index - 1][0] || 332 | isselected[index - 1][1] || 333 | isselected[index - 1][2] || 334 | isselected[index - 1][3] 335 | ? Colors.green 336 | : Colors.red, 337 | customStep: (index, color) { 338 | if(varysize==index) 339 | { 340 | return Icon( 341 | Icons.check_box_outline_blank, 342 | color: color, 343 | size: 40.w, 344 | ); 345 | } 346 | return Icon( 347 | Icons.stop, 348 | color: color, 349 | size: 40.w, 350 | ); 351 | }, 352 | onTap: (index) { 353 | return () { 354 | _controller.move(index - 1); 355 | //print('$index step pressed'); 356 | }; 357 | }), 358 | ), 359 | ), 360 | ], 361 | ), 362 | ); 363 | } 364 | 365 | Future pushToFirebase() async { 366 | final Map someMap = {}; 367 | print('map for BACE created'); 368 | 369 | someMap["Q10"] = DateTime.now().toString(); 370 | for (int i = 0; i < 27; i++) { 371 | someMap["Q${i + 10+1}"] = BACE_Questions[i].answer; 372 | print(BACE_Questions[i].answer); 373 | } 374 | print('done'); 375 | SharedPreferences prefs = await SharedPreferences.getInstance(); 376 | String pushId = prefs.getString('key'); 377 | FirebaseDatabase.instance 378 | .reference() 379 | .child("Responses") 380 | .child(pushId) 381 | .child("bace") 382 | .set(someMap); 383 | } 384 | Widget summary(BuildContext context) { 385 | return Center( 386 | child: Container( 387 | child: Column( 388 | mainAxisSize: MainAxisSize.min, 389 | children: [ 390 | Container( 391 | child: Image( 392 | image: AssetImage('assets/checklist.png'), 393 | height: 400.h, 394 | )), 395 | InkWell( 396 | onTap: () async{ 397 | setState(() { 398 | count = 0; 399 | for (int i = 0; i < 27; i++) { 400 | if (isselected[i][0] == true || 401 | isselected[i][1] == true || 402 | isselected[i][2] == true || 403 | isselected[i][3] == true) { 404 | count += 1; 405 | } 406 | } 407 | }); 408 | if(count == 27) 409 | { 410 | await pushToFirebase(); 411 | SharedPreferences prefs = await SharedPreferences.getInstance(); 412 | String dummy = prefs.get('currentPage'); 413 | int cp = int.parse(dummy); 414 | prefs.setString('currentPage', (cp+1).toString()); 415 | Navigator.pushReplacement(context, 416 | MaterialPageRoute(builder: (context) => TimerPage("SDRS",false))); 417 | } 418 | else 419 | { 420 | final snackBar = SnackBar( 421 | content: Text("Please complete the questionnaire"), 422 | duration: Duration(milliseconds: 800), 423 | ); 424 | Scaffold.of(context).showSnackBar(snackBar); 425 | } 426 | 427 | }, 428 | child: Card( 429 | elevation: 8, 430 | color: Colors.teal[400], 431 | child: ListTile( 432 | leading: Icon(Icons.keyboard_arrow_right, color: Colors.white), 433 | title: Text( 434 | "Proceed", 435 | style: TextStyle(fontSize: 16, color: Colors.white), 436 | ), 437 | ), 438 | ), 439 | ) 440 | ], 441 | ), 442 | ), 443 | ); 444 | } 445 | } 446 | -------------------------------------------------------------------------------- /lib/GAD7_Page.dart: -------------------------------------------------------------------------------- 1 | import 'package:firebase_database/firebase_database.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter_swiper/flutter_swiper.dart'; 4 | import 'package:mental_health_app/PHQ9_Page.dart'; 5 | import 'package:mental_health_app/TimerPage.dart'; 6 | import 'package:mental_health_app/question.dart'; 7 | import 'package:shared_preferences/shared_preferences.dart'; 8 | import 'package:step_progress_indicator/step_progress_indicator.dart'; 9 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 10 | 11 | import 'Showup.dart'; 12 | 13 | class GAD7Page extends StatefulWidget { 14 | bool hasBoth; 15 | GAD7Page(this.hasBoth); 16 | @override 17 | _GAD7PageState createState() => _GAD7PageState(hasBoth); 18 | } 19 | 20 | class _GAD7PageState extends State { 21 | bool hasBoth; 22 | 23 | int count = 0; 24 | 25 | var varysize = 1; 26 | _GAD7PageState(this.hasBoth); 27 | SwiperController _controller = SwiperController(); 28 | List GAD7_Questions = [ 29 | Question(), 30 | Question(), 31 | Question(), 32 | Question(), 33 | Question(), 34 | Question(), 35 | Question(), 36 | Question() 37 | ]; 38 | List randomizecolor = [ 39 | Colors.blue, 40 | Colors.green, 41 | Colors.red, 42 | Colors.purple, 43 | Colors.pink, 44 | Colors.orange, 45 | Colors.blue, 46 | Colors.green 47 | ]; 48 | List randomizecolorlight = [ 49 | Colors.blue[100], 50 | Colors.green[100], 51 | Colors.red[100], 52 | Colors.purple[100], 53 | Colors.pink[100], 54 | Colors.orange[100], 55 | Colors.blue[100], 56 | Colors.green[100] 57 | ]; 58 | 59 | List> isselected = 60 | new List.generate(8, (j) => [false, false, false, false, false]); 61 | List questions = [ 62 | "Feeling nervous, anxious or on edge", 63 | " Not being able to stop or control worrying", 64 | "Worrying too much about different things", 65 | "Trouble relaxing", 66 | "Being so restless that it is hard to sit still", 67 | "Becoming easily annoyed or irritable", 68 | "Feeling afraid as if something awful might happen", 69 | " If you checked off any problems, how difficult have these problems made it for you to do your work, take care of things at home, or get along with other people?" 70 | ]; 71 | 72 | _getQuestions() { 73 | for (int i = 0; i < 7; i++) { 74 | GAD7_Questions[i] 75 | .getQues(questions[i], "assets/PHQ-9icons_${(i + 1)}.png"); 76 | GAD7_Questions[i].getOptions("Not at all", "Several days", 77 | "More than half the days", "Nearly every day"); 78 | GAD7_Questions[i].getColor(randomizecolor[i % 7], randomizecolor[i % 7], 79 | randomizecolor[i % 7], randomizecolor[i % 7]); 80 | GAD7_Questions[i].type = 1; 81 | } 82 | GAD7_Questions[7].getQues(questions[7], "assets/PHQ-9icons_8.png"); 83 | 84 | GAD7_Questions[7].getColor(randomizecolor[0], randomizecolor[0], 85 | randomizecolor[0], randomizecolor[0]); 86 | 87 | GAD7_Questions[7].getOptions( 88 | "Not at all Difficult", 89 | "Somewhat Difficult", 90 | "Very Difficult", 91 | "Extremely Difficult" 92 | ); 93 | // print("\n\n") 94 | } 95 | 96 | int total_a = 0, total_d = 0, total_s = 0; 97 | String result_a, result_d, result_s; 98 | 99 | int total = 0; 100 | 101 | @override 102 | void initState() { 103 | super.initState(); 104 | _getQuestions(); 105 | } 106 | 107 | @override 108 | Widget build(BuildContext context) { 109 | return Scaffold( 110 | backgroundColor: Colors.white, 111 | body: Swiper( 112 | onIndexChanged: (index) { 113 | varysize = index + 1; 114 | }, 115 | itemCount: 9, 116 | curve: Curves.easeInOutCubic, 117 | scrollDirection: Axis.horizontal, 118 | loop: false, 119 | viewportFraction: 0.95, 120 | scale: 0.5, 121 | controller: _controller, 122 | itemBuilder: (BuildContext context, int index) { 123 | if (index < 8) { 124 | return page(GAD7_Questions[index], index); 125 | } else 126 | return summary(context); 127 | }, 128 | ), 129 | ); 130 | } 131 | 132 | Widget page(Question question, int index) { 133 | print("question.opt1Color = ${question.opt1Color.toString()} $index"); 134 | ScreenUtil.init(context, allowFontScaling: true); 135 | return Center( 136 | child: SingleChildScrollView( 137 | child: Column( 138 | mainAxisSize: MainAxisSize.max, 139 | mainAxisAlignment: MainAxisAlignment.center, 140 | children: [ 141 | ShowUp( 142 | delay: 500, 143 | child: Container( 144 | child: Image( 145 | image: AssetImage(question.imgURL), 146 | height: 400.h, 147 | )), 148 | ), 149 | SizedBox(height: 20.h), 150 | Padding( 151 | padding: EdgeInsets.symmetric(horizontal: 20), 152 | child: Text( 153 | question.ques, 154 | textAlign: TextAlign.center, 155 | style: TextStyle( 156 | fontSize: 22, 157 | fontWeight: FontWeight.bold, 158 | color: Colors.black), 159 | ), 160 | ), 161 | SizedBox(height: 20.h), 162 | InkWell( 163 | onTap: () { 164 | _controller.next(); 165 | total += 0; 166 | GAD7_Questions[index].points = 0; 167 | setState(() { 168 | GAD7_Questions[index].answer = question.opt1; 169 | isselected[index][0] = true; 170 | isselected[index][1] = false; 171 | isselected[index][2] = false; 172 | isselected[index][3] = false; 173 | isselected[index][4] = false; 174 | }); 175 | }, 176 | child: Card( 177 | elevation: 8, 178 | color: question.opt1Color, 179 | child: ListTile( 180 | leading: Icon(Icons.keyboard_arrow_right, color: Colors.white), 181 | trailing: isselected[index][0] 182 | ? Icon(Icons.spellcheck, color: Colors.white) 183 | : null, 184 | title: Text( 185 | question.opt1, 186 | style: TextStyle(fontSize: 16, color: Colors.white), 187 | ), 188 | ), 189 | ), 190 | ), 191 | InkWell( 192 | onTap: () { 193 | _controller.next(); 194 | total += 1; 195 | GAD7_Questions[index].points = 1; 196 | setState(() { 197 | GAD7_Questions[index].answer = question.opt2; 198 | isselected[index][0] = false; 199 | isselected[index][1] = true; 200 | isselected[index][2] = false; 201 | isselected[index][3] = false; 202 | isselected[index][4] = false; 203 | }); 204 | }, 205 | child: Card( 206 | elevation: 8, 207 | color: question.opt2Color, 208 | child: ListTile( 209 | leading: Icon(Icons.keyboard_arrow_right, color: Colors.white), 210 | trailing: isselected[index][1] 211 | ? Icon(Icons.spellcheck, color: Colors.white) 212 | : null, 213 | title: Text( 214 | question.opt2, 215 | style: TextStyle(fontSize: 16, color: Colors.white), 216 | ), 217 | ), 218 | ), 219 | ), 220 | InkWell( 221 | onTap: () { 222 | _controller.next(); 223 | total += 2; 224 | GAD7_Questions[index].points = 2; 225 | setState(() { 226 | GAD7_Questions[index].answer = question.opt3; 227 | isselected[index][0] = false; 228 | isselected[index][1] = false; 229 | isselected[index][2] = true; 230 | isselected[index][3] = false; 231 | isselected[index][4] = false; 232 | }); 233 | }, 234 | child: Card( 235 | elevation: 8, 236 | color: question.opt3Color, 237 | child: ListTile( 238 | leading: Icon(Icons.keyboard_arrow_right, color: Colors.white), 239 | trailing: isselected[index][2] 240 | ? Icon(Icons.spellcheck, color: Colors.white) 241 | : null, 242 | title: Text( 243 | question.opt3, 244 | style: TextStyle(fontSize: 16, color: Colors.white), 245 | ), 246 | ), 247 | ), 248 | ), 249 | InkWell( 250 | onTap: () { 251 | _controller.next(); 252 | total += 3; 253 | GAD7_Questions[index].points = 3; 254 | setState(() { 255 | GAD7_Questions[index].answer = question.opt4; 256 | isselected[index][0] = false; 257 | isselected[index][1] = false; 258 | isselected[index][2] = false; 259 | isselected[index][3] = true; 260 | isselected[index][4] = false; 261 | }); 262 | }, 263 | child: Card( 264 | elevation: 8, 265 | color: question.opt4Color, 266 | child: ListTile( 267 | leading: Icon(Icons.keyboard_arrow_right, color: Colors.white), 268 | trailing: isselected[index][3] 269 | ? Icon(Icons.spellcheck, color: Colors.white) 270 | : null, 271 | title: Text( 272 | question.opt4, 273 | style: TextStyle(fontSize: 16, color: Colors.white), 274 | ), 275 | ), 276 | ), 277 | ), 278 | Container( 279 | height: 80.h, 280 | width: MediaQuery.of(context).size.width, 281 | child: Padding( 282 | padding: const EdgeInsets.all(10), 283 | child: StepProgressIndicator( 284 | totalSteps: 8, 285 | height: 10.h, 286 | //currentStep: index, 287 | //selectedColor: randomizecolor[index % 6], 288 | //unselectedColor: randomizecolorlight[index % 6], 289 | customColor: (index) => isselected[index - 1][0] || 290 | isselected[index - 1][1] || 291 | isselected[index - 1][2] || 292 | isselected[index - 1][3] 293 | ? Colors.green 294 | : Colors.red, 295 | customStep: (index, color) { 296 | if (varysize == index) { 297 | return Icon( 298 | Icons.check_box_outline_blank, 299 | color: color, 300 | size: 50.w, 301 | ); 302 | } 303 | return Icon( 304 | Icons.stop, 305 | color: color, 306 | size: 50.w, 307 | ); 308 | }, 309 | onTap: (index) { 310 | return () { 311 | _controller.move(index - 1); 312 | //print('$index step pressed'); 313 | }; 314 | }), 315 | ), 316 | ), 317 | ], 318 | ), 319 | ), 320 | ); 321 | } 322 | 323 | String _getresult() { 324 | if (total >= 0 && total <= 5) 325 | return "Mild"; 326 | else if (total >= 6 && total <= 10) 327 | return "Moderate"; 328 | else if (total >= 11 && total <= 15) 329 | return "Moderately severe"; 330 | else 331 | return "Severe"; 332 | } 333 | 334 | Future pushToFirebase() async { 335 | final Map someMap = {}; 336 | print('map for GAD7 created'); 337 | 338 | someMap["Q10"] = DateTime.now().toString(); 339 | for (int i = 0; i < 8; i++) { 340 | someMap["Q${i + 10 + 1}"] = GAD7_Questions[i].answer; 341 | print(GAD7_Questions[i].answer); 342 | } 343 | print('done'); 344 | SharedPreferences prefs = await SharedPreferences.getInstance(); 345 | String pushId = prefs.getString('key'); 346 | FirebaseDatabase.instance 347 | .reference() 348 | .child("Responses") 349 | .child(pushId) 350 | .child("gad7") 351 | .set(someMap); 352 | } 353 | 354 | Widget summary(BuildContext context) { 355 | return Center( 356 | child: Container( 357 | child: Column( 358 | mainAxisSize: MainAxisSize.min, 359 | children: [ 360 | Container( 361 | child: Image( 362 | image: AssetImage('assets/checklist.png'), 363 | height: 400.h, 364 | )), 365 | InkWell( 366 | onTap: () async { 367 | SharedPreferences prefs = await SharedPreferences.getInstance(); 368 | setState(() { 369 | count = 0; 370 | for (int i = 0; i < 8; i++) { 371 | if (isselected[i][0] == true || 372 | isselected[i][1] == true || 373 | isselected[i][2] == true || 374 | isselected[i][3] == true) { 375 | count += 1; 376 | } 377 | } 378 | }); 379 | if (count == 8) { 380 | await pushToFirebase(); 381 | if (hasBoth) { 382 | prefs.setString('currentPage', '2'); 383 | Navigator.pushReplacement( 384 | context, 385 | MaterialPageRoute( 386 | builder: (context) => TimerPage("PHQ9", false))); 387 | } else { 388 | prefs.setString('currentPage', '2'); 389 | Navigator.pushReplacement( 390 | context, 391 | MaterialPageRoute( 392 | builder: (context) => TimerPage("BACE", false))); 393 | } 394 | } else { 395 | final snackBar = SnackBar( 396 | content: Text("Please complete the questionnaire"), 397 | duration: Duration(milliseconds: 800), 398 | ); 399 | Scaffold.of(context).showSnackBar(snackBar); 400 | } 401 | }, 402 | child: Card( 403 | elevation: 8, 404 | color: Colors.teal[400], 405 | child: ListTile( 406 | leading: Icon(Icons.keyboard_arrow_right, color: Colors.white), 407 | title: Text( 408 | "Proceed", 409 | style: TextStyle(fontSize: 16, color: Colors.white), 410 | ), 411 | ), 412 | ), 413 | ) 414 | ], 415 | ), 416 | ), 417 | ); 418 | } 419 | } 420 | -------------------------------------------------------------------------------- /lib/PHQ9_Page.dart: -------------------------------------------------------------------------------- 1 | import 'package:firebase_database/firebase_database.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter_swiper/flutter_swiper.dart'; 4 | import 'package:mental_health_app/TimerPage.dart'; 5 | import 'package:mental_health_app/question.dart'; 6 | import 'package:shared_preferences/shared_preferences.dart'; 7 | import 'package:step_progress_indicator/step_progress_indicator.dart'; 8 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 9 | import 'BACE_Page.dart'; 10 | import 'Showup.dart'; 11 | 12 | class PHQ9Page extends StatefulWidget { 13 | @override 14 | _PHQ9PageState createState() => _PHQ9PageState(); 15 | } 16 | 17 | class _PHQ9PageState extends State { 18 | SwiperController _controller = SwiperController(); 19 | List PHQ9_Questions = [ 20 | Question(), 21 | Question(), 22 | Question(), 23 | Question(), 24 | Question(), 25 | Question(), 26 | Question(), 27 | Question(), 28 | Question() 29 | ]; 30 | List randomizecolor = [ 31 | Colors.blue, 32 | Colors.green, 33 | Colors.red, 34 | Colors.purple, 35 | Colors.pink, 36 | Colors.orange 37 | ]; 38 | List randomizecolorlight = [ 39 | Colors.blue[100], 40 | Colors.green[100], 41 | Colors.red[100], 42 | Colors.purple[100], 43 | Colors.pink[100], 44 | Colors.orange[100] 45 | ]; 46 | 47 | List> isselected = 48 | new List.generate(9, (j) => [false, false, false, false, false]); 49 | List questions = [ 50 | "Little interest or pleasure in doing things", 51 | "Feeling down, depressed, or hopeless", 52 | "Trouble falling or staying asleep, or sleeping too much", 53 | "Feeling tired or having little energy", 54 | "Poor appetite or overeating", 55 | "Feeling bad about yourself — or that you are a failure or have let yourself or your family down", 56 | "Trouble concentrating on things, such as reading the newspaper or watching television", 57 | "Moving or speaking so slowly that other people could " 58 | "have noticed? Or the opposite — being fidgety" 59 | "", 60 | "Thoughts that you would be better off dead or of hurting yourself in some way" 61 | ]; 62 | 63 | int count = 0; 64 | 65 | int varysize=1; 66 | 67 | _getQuestions() { 68 | for (int i = 0; i < 9; i++) { 69 | PHQ9_Questions[i] 70 | .getQues(questions[i], "assets/PHQ-9iconsFINAL_${(i + 1)}.png"); 71 | PHQ9_Questions[i].getOptions("Not at all", "Several days", 72 | "More than half the days", "Nearly every day"); 73 | PHQ9_Questions[i].getColor(randomizecolor[i % 6], randomizecolor[i % 6], 74 | randomizecolor[i % 6], randomizecolor[i % 6]); 75 | PHQ9_Questions[i].type = 1; 76 | } 77 | } 78 | 79 | int total_a = 0, total_d = 0, total_s = 0; 80 | String result_a, result_d, result_s; 81 | 82 | int total = 0; 83 | 84 | @override 85 | void initState() { 86 | super.initState(); 87 | _getQuestions(); 88 | } 89 | 90 | @override 91 | Widget build(BuildContext context) { 92 | return Scaffold( 93 | backgroundColor: Colors.white, 94 | body: Swiper( 95 | onIndexChanged: (index){ 96 | varysize = index+1; 97 | }, 98 | itemCount: 10, 99 | curve: Curves.easeInOutCubic, 100 | scrollDirection: Axis.horizontal, 101 | loop: false, 102 | viewportFraction: 0.95, 103 | scale: 0.5, 104 | controller: _controller, 105 | itemBuilder: (BuildContext context, int index) { 106 | if (index < 9) { 107 | return page(PHQ9_Questions[index], index); 108 | } else 109 | return summary(context); 110 | }, 111 | ), 112 | ); 113 | } 114 | 115 | Widget page(Question question, int index) { 116 | ScreenUtil.init(context, 117 | allowFontScaling: true); 118 | 119 | return Center( 120 | child: Column( 121 | mainAxisSize: MainAxisSize.max, 122 | mainAxisAlignment: MainAxisAlignment.center, 123 | children: [ 124 | ShowUp( 125 | delay: 500, 126 | child: Container( 127 | child: Image( 128 | image: AssetImage(question.imgURL), 129 | height: 350.h, 130 | )), 131 | ), 132 | SizedBox(height: 10.h), 133 | Padding( 134 | padding: EdgeInsets.symmetric(horizontal: 20), 135 | child: Text( 136 | question.ques, 137 | textAlign: TextAlign.center, 138 | style: TextStyle( 139 | fontSize: ScreenUtil().setSp(60,allowFontScalingSelf: true), 140 | fontWeight: FontWeight.bold, 141 | color: Colors.black), 142 | ), 143 | ), 144 | SizedBox(height: 10.h), 145 | InkWell( 146 | onTap: () { 147 | _controller.next(); 148 | total += 0; 149 | PHQ9_Questions[index].points = 0; 150 | setState(() { 151 | PHQ9_Questions[index].answer = question.opt1; 152 | isselected[index][0] = true; 153 | isselected[index][1] = false; 154 | isselected[index][2] = false; 155 | isselected[index][3] = false; 156 | isselected[index][4] = false; 157 | }); 158 | }, 159 | child: Card( 160 | elevation: 8, 161 | color: question.opt1Color, 162 | child: ListTile( 163 | leading: 164 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 165 | trailing: isselected[index][0] 166 | ? Icon(Icons.spellcheck, color: Colors.white) 167 | : null, 168 | title: Text( 169 | question.opt1, 170 | style: TextStyle(fontSize: 16, color: Colors.white), 171 | ), 172 | ), 173 | ), 174 | ), 175 | InkWell( 176 | onTap: () { 177 | _controller.next(); 178 | total += 1; 179 | PHQ9_Questions[index].points = 1; 180 | setState(() { 181 | PHQ9_Questions[index].answer = question.opt2; 182 | isselected[index][0] = false; 183 | isselected[index][1] = true; 184 | isselected[index][2] = false; 185 | isselected[index][3] = false; 186 | isselected[index][4] = false; 187 | }); 188 | }, 189 | child: Card( 190 | elevation: 8, 191 | color: question.opt2Color, 192 | child: ListTile( 193 | leading: 194 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 195 | trailing: isselected[index][1] 196 | ? Icon(Icons.spellcheck, color: Colors.white) 197 | : null, 198 | title: Text( 199 | question.opt2, 200 | style: TextStyle(fontSize: 16, color: Colors.white), 201 | ), 202 | ), 203 | ), 204 | ), 205 | InkWell( 206 | onTap: () { 207 | _controller.next(); 208 | total += 2; 209 | PHQ9_Questions[index].points = 2; 210 | setState(() { 211 | PHQ9_Questions[index].answer = question.opt3; 212 | isselected[index][0] = false; 213 | isselected[index][1] = false; 214 | isselected[index][2] = true; 215 | isselected[index][3] = false; 216 | isselected[index][4] = false; 217 | }); 218 | }, 219 | child: Card( 220 | elevation: 8, 221 | color: question.opt3Color, 222 | child: ListTile( 223 | leading: 224 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 225 | trailing: isselected[index][2] 226 | ? Icon(Icons.spellcheck, color: Colors.white) 227 | : null, 228 | title: Text( 229 | question.opt3, 230 | style: TextStyle(fontSize: 16, color: Colors.white), 231 | ), 232 | ), 233 | ), 234 | ), 235 | InkWell( 236 | onTap: () { 237 | _controller.next(); 238 | total += 3; 239 | PHQ9_Questions[index].points = 3; 240 | setState(() { 241 | PHQ9_Questions[index].answer = question.opt4; 242 | isselected[index][0] = false; 243 | isselected[index][1] = false; 244 | isselected[index][2] = false; 245 | isselected[index][3] = true; 246 | isselected[index][4] = false; 247 | }); 248 | }, 249 | child: Card( 250 | elevation: 8, 251 | color: question.opt4Color, 252 | child: ListTile( 253 | leading: 254 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 255 | trailing: isselected[index][3] 256 | ? Icon(Icons.spellcheck, color: Colors.white) 257 | : null, 258 | title: Text( 259 | question.opt4, 260 | style: TextStyle(fontSize: 16, color: Colors.white), 261 | ), 262 | ), 263 | ), 264 | ), 265 | Container( 266 | height: 80.h, 267 | width: MediaQuery.of(context).size.width, 268 | child: Padding( 269 | padding: const EdgeInsets.all(10), 270 | child: StepProgressIndicator( 271 | totalSteps: 9, 272 | height: 10.h, 273 | //currentStep: index, 274 | //selectedColor: randomizecolor[index % 6], 275 | //unselectedColor: randomizecolorlight[index % 6], 276 | customColor: (index) => isselected[index - 1][0] || 277 | isselected[index - 1][1] || 278 | isselected[index - 1][2] || 279 | isselected[index - 1][3] 280 | ? Colors.green 281 | : Colors.red, 282 | customStep: (index, color) { 283 | if(varysize==index) 284 | { 285 | return Icon( 286 | Icons.check_box_outline_blank, 287 | color: color, 288 | size: 50.w, 289 | ); 290 | } 291 | return Icon( 292 | Icons.stop, 293 | color: color, 294 | size: 50.w, 295 | ); 296 | }, 297 | onTap: (index) { 298 | return () { 299 | _controller.move(index - 1); 300 | //print('$index step pressed'); 301 | }; 302 | }), 303 | ), 304 | ), 305 | ], 306 | ), 307 | ); 308 | } 309 | 310 | String _getresult() { 311 | if (total >= 0 && total <= 5) 312 | return "Mild"; 313 | else if (total >= 6 && total <= 10) 314 | return "Moderate"; 315 | else if (total >= 11 && total <= 15) 316 | return "Moderately severe"; 317 | else 318 | return "Severe"; 319 | } 320 | Future pushToFirebase() async { 321 | final Map someMap = {}; 322 | print('map for GAD7 created'); 323 | 324 | someMap["Q10"] = DateTime.now().toString(); 325 | for (int i = 0; i < 9; i++) { 326 | someMap["Q${i + 10+1}"] = PHQ9_Questions[i].answer; 327 | print(PHQ9_Questions[i].answer); 328 | } 329 | print('done'); 330 | SharedPreferences prefs = await SharedPreferences.getInstance(); 331 | String pushId = prefs.getString('key'); 332 | FirebaseDatabase.instance 333 | .reference() 334 | .child("Responses") 335 | .child(pushId) 336 | .child("phq9") 337 | .set(someMap); 338 | } 339 | 340 | Widget summary(BuildContext context) { 341 | return Center( 342 | child: Container( 343 | child: Column( 344 | mainAxisSize: MainAxisSize.min, 345 | children: [ 346 | Container( 347 | child: Image( 348 | image: AssetImage('assets/checklist.png'), 349 | height: 400.h, 350 | )), 351 | InkWell( 352 | onTap: ()async{ 353 | setState(() { 354 | count = 0; 355 | for (int i = 0; i < 9; i++) { 356 | if (isselected[i][0] == true || 357 | isselected[i][1] == true || 358 | isselected[i][2] == true || 359 | isselected[i][3] == true) { 360 | count += 1; 361 | } 362 | } 363 | }); 364 | if (count == 9) { 365 | await pushToFirebase(); 366 | SharedPreferences prefs = await SharedPreferences.getInstance(); 367 | String dummy = prefs.get('currentPage'); 368 | int cp = int.parse(dummy); 369 | prefs.setString('currentPage', (cp+1).toString()); 370 | Navigator.pushReplacement(context, 371 | MaterialPageRoute(builder: (context) => TimerPage("BACE",false))); 372 | }else { 373 | final snackBar = SnackBar( 374 | content: Text("Please complete the questionnaire"), 375 | duration: Duration(milliseconds: 800), 376 | ); 377 | Scaffold.of(context).showSnackBar(snackBar); 378 | } 379 | }, 380 | child: Card( 381 | elevation: 8, 382 | color: Colors.teal[400], 383 | child: ListTile( 384 | leading: Icon(Icons.keyboard_arrow_right, color: Colors.white), 385 | title: Text( 386 | "Proceed", 387 | style: TextStyle(fontSize: 16, color: Colors.white), 388 | ), 389 | ), 390 | ), 391 | ) 392 | ], 393 | ), 394 | ), 395 | ); 396 | } 397 | } 398 | -------------------------------------------------------------------------------- /lib/SDRS_Page.dart: -------------------------------------------------------------------------------- 1 | import 'package:firebase_database/firebase_database.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter_swiper/flutter_swiper.dart'; 4 | import 'package:mental_health_app/GAD7_Page.dart'; 5 | import 'package:mental_health_app/ResultPage.dart'; 6 | import 'package:mental_health_app/PHQ9_Page.dart'; 7 | import 'package:mental_health_app/TimerPage.dart'; 8 | import 'package:mental_health_app/question.dart'; 9 | import 'package:shared_preferences/shared_preferences.dart'; 10 | import 'package:step_progress_indicator/step_progress_indicator.dart'; 11 | import 'package:flutter_screenutil/flutter_screenutil.dart'; 12 | 13 | import 'Showup.dart'; 14 | 15 | 16 | class SDRSPage extends StatefulWidget { 17 | @override 18 | _SDRSPageState createState() => _SDRSPageState(); 19 | } 20 | 21 | class _SDRSPageState extends State { 22 | 23 | SwiperController _controller = SwiperController(); 24 | List SDRS_Questions = [Question(),Question(),Question(),Question(),Question()]; 25 | List randomizecolor = [Colors.blue,Colors.green,Colors.red,Colors.purple,Colors.pink,Colors.orange]; 26 | List randomizecolorlight = [Colors.blue[100],Colors.green[100],Colors.red[100],Colors.purple[100],Colors.pink[100],Colors.orange[100]]; 27 | 28 | List> isselected = new List.generate(27, (j) => [false,false,false,false,false]); 29 | List questions = ["I am always courteous even to people who are disagreeable", 30 | "There have been occasions when I took advantage of someone", 31 | "I sometimes try to get even rather than forgive and forget", 32 | "I sometimes feel resentful when I don’t get my way", 33 | "No matter who I’m talking to, I’m always a good listener"]; 34 | 35 | List qtype = [1,2,3]; 36 | bool isSevere = false; 37 | 38 | int count = 0; 39 | 40 | var varysize=1; 41 | 42 | _getQuestions(){ 43 | for(int i =0;i<5;i++){ 44 | SDRS_Questions[i].getQues(questions[i], "assets/sdrs_${(i+1)}.png"); 45 | SDRS_Questions[i].getOptions("Definitely True", "Mostly True", "Don't Know", "Mostly False","Definitely False"); 46 | SDRS_Questions[i].getColor(randomizecolor[i%6], randomizecolor[i%6], randomizecolor[i%6],randomizecolor[i%6], randomizecolor[i%6]); 47 | SDRS_Questions[i].type = 1; 48 | } 49 | qtype.forEach((i){ 50 | SDRS_Questions[i].type = 2; 51 | }); 52 | } 53 | 54 | int total_a =0,total_d =0,total_s =0; 55 | String result_a,result_d,result_s; 56 | 57 | int total=0; 58 | 59 | @override 60 | void initState() { 61 | super.initState(); 62 | _getQuestions(); 63 | } 64 | 65 | @override 66 | Widget build(BuildContext context) { 67 | return Scaffold( 68 | backgroundColor: Colors.white, 69 | body: Swiper( 70 | onIndexChanged: (index){ 71 | varysize = index+1; 72 | }, 73 | itemCount: 6, 74 | curve: Curves.easeInOutCubic, 75 | scrollDirection:Axis.horizontal, 76 | loop: false, 77 | viewportFraction: 1, 78 | scale: 0.5, 79 | controller: _controller, 80 | itemBuilder: (BuildContext context, int index) { 81 | if(index<5){ 82 | return page(SDRS_Questions[index],index); 83 | } 84 | else return summary(context); 85 | }, 86 | ), 87 | ); 88 | } 89 | 90 | Widget page(Question question,int index) { 91 | ScreenUtil.init(context, 92 | allowFontScaling: true); 93 | return Center( 94 | child: Column( 95 | mainAxisSize: MainAxisSize.max, 96 | mainAxisAlignment: MainAxisAlignment.center, 97 | children: [ 98 | ShowUp( 99 | delay : 500, 100 | child: Container( 101 | child: Image( 102 | image: AssetImage(question.imgURL), 103 | height: 300.h, 104 | )), 105 | ), 106 | SizedBox(height: 10.h), 107 | Padding( 108 | padding: EdgeInsets.symmetric(horizontal: 20), 109 | child: Text( 110 | question.ques, 111 | textAlign: TextAlign.center, 112 | style: TextStyle( 113 | fontSize: ScreenUtil().setSp(55,allowFontScalingSelf: true), 114 | fontWeight: FontWeight.bold, 115 | color: Colors.black), 116 | ), 117 | ), 118 | SizedBox(height: 20.h), 119 | InkWell( 120 | onTap: () { 121 | _controller.next(); 122 | if(SDRS_Questions[index].type == 1){total +=1;SDRS_Questions[index].points = 1;} 123 | else {total += 0;SDRS_Questions[index].points = 0;} 124 | setState(() { 125 | SDRS_Questions[index].answer = question.opt1; 126 | isselected[index][0] = true; 127 | isselected[index][1] = false; 128 | isselected[index][2] = false; 129 | isselected[index][3] = false; 130 | isselected[index][4] = false; 131 | 132 | }); 133 | }, 134 | child: Card( 135 | elevation: 8, 136 | color: question.opt1Color, 137 | child: ListTile( 138 | leading: 139 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 140 | trailing: isselected[index][0]? Icon(Icons.spellcheck, color: Colors.white) : null, 141 | title: Text( 142 | question.opt1, 143 | style: TextStyle(fontSize: 16, color: Colors.white), 144 | ), 145 | ), 146 | ), 147 | ), 148 | InkWell( 149 | onTap: () { 150 | _controller.next(); 151 | if(SDRS_Questions[index].type == 1){total +=1;SDRS_Questions[index].points = 1;} 152 | else {total += 0;SDRS_Questions[index].points = 0;} 153 | setState(() { 154 | SDRS_Questions[index].answer = question.opt2; 155 | isselected[index][0] = false; 156 | isselected[index][1] = true; 157 | isselected[index][2] = false; 158 | isselected[index][3] = false; 159 | isselected[index][4] = false; 160 | }); 161 | }, 162 | child: Card( 163 | elevation: 8, 164 | color: question.opt2Color, 165 | child: ListTile( 166 | leading: 167 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 168 | trailing: isselected[index][1]? Icon(Icons.spellcheck, color: Colors.white) : null, 169 | title: Text( 170 | question.opt2, 171 | style: TextStyle(fontSize: 16, color: Colors.white), 172 | ), 173 | ), 174 | ), 175 | ), 176 | InkWell( 177 | onTap: () { 178 | _controller.next(); 179 | if(SDRS_Questions[index].type == 1){total +=1;SDRS_Questions[index].points = 1;} 180 | else {total += 0;SDRS_Questions[index].points = 0;} 181 | setState(() { 182 | SDRS_Questions[index].answer = question.opt3; 183 | isselected[index][0] = false; 184 | isselected[index][1] = false; 185 | isselected[index][2] = true; 186 | isselected[index][3] = false; 187 | isselected[index][4] = false; 188 | }); 189 | }, 190 | child: Card( 191 | elevation: 8, 192 | color: question.opt3Color, 193 | child: ListTile( 194 | leading: 195 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 196 | trailing: isselected[index][2]? Icon(Icons.spellcheck, color: Colors.white) : null, 197 | title: Text( 198 | question.opt3, 199 | style: TextStyle(fontSize: 16, color: Colors.white), 200 | ), 201 | ), 202 | ), 203 | ), 204 | InkWell( 205 | onTap: () { 206 | _controller.next(); 207 | if(SDRS_Questions[index].type == 1){total +=1;SDRS_Questions[index].points = 1;} 208 | else {total += 0;SDRS_Questions[index].points = 0;} 209 | setState(() { 210 | SDRS_Questions[index].answer = question.opt4; 211 | isselected[index][0] = false; 212 | isselected[index][1] = false; 213 | isselected[index][2] = false; 214 | isselected[index][3] = true; 215 | isselected[index][4] = false; 216 | }); 217 | }, 218 | child: Card( 219 | elevation: 8, 220 | color: question.opt4Color, 221 | child: ListTile( 222 | leading: 223 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 224 | trailing: isselected[index][3]? Icon(Icons.spellcheck, color: Colors.white) : null, 225 | title: Text( 226 | question.opt4, 227 | style: TextStyle(fontSize: 16, color: Colors.white), 228 | ), 229 | ), 230 | ), 231 | ), 232 | InkWell( 233 | onTap: () { 234 | _controller.next(); 235 | if(SDRS_Questions[index].type == 2){total +=1;SDRS_Questions[index].points = 1;} 236 | else {total += 0;SDRS_Questions[index].points = 0;} 237 | setState(() { 238 | SDRS_Questions[index].answer = question.opt5; 239 | isselected[index][0] = false; 240 | isselected[index][1] = false; 241 | isselected[index][2] = false; 242 | isselected[index][3] = false; 243 | isselected[index][4] = true; 244 | }); 245 | }, 246 | child: Card( 247 | elevation: 8, 248 | color: question.opt5Color, 249 | child: ListTile( 250 | leading: 251 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 252 | trailing: isselected[index][4]? Icon(Icons.spellcheck, color: Colors.white) : null, 253 | title: Text( 254 | question.opt5, 255 | style: TextStyle(fontSize: 16, color: Colors.white), 256 | ), 257 | ), 258 | ), 259 | ), 260 | Container( 261 | height: 60.h, 262 | width: MediaQuery.of(context).size.width, 263 | child: StepProgressIndicator( 264 | totalSteps: 5, 265 | height: 10.h, 266 | //currentStep: index, 267 | //selectedColor: randomizecolor[index % 6], 268 | //unselectedColor: randomizecolorlight[index % 6], 269 | customColor: (index) => isselected[index - 1][0] || 270 | isselected[index - 1][1] || 271 | isselected[index - 1][2] || 272 | isselected[index - 1][3] || 273 | isselected[index - 1][4] 274 | ? Colors.green 275 | : Colors.red, 276 | customStep: (index, color) { 277 | if(varysize==index) 278 | { 279 | return Icon( 280 | Icons.check_box_outline_blank, 281 | color: color, 282 | size: 50.w, 283 | ); 284 | } 285 | return Icon( 286 | Icons.stop, 287 | color: color, 288 | size: 50.w, 289 | ); 290 | }, 291 | onTap: (index) { 292 | return () { 293 | _controller.move(index-1); 294 | //print('$index step pressed'); 295 | }; 296 | }), 297 | ), 298 | ], 299 | ), 300 | ); 301 | } 302 | 303 | _calcResult() async {/* 304 | SharedPreferences saveTotal = await SharedPreferences.getInstance(); 305 | total_a = int.parse(saveTotal.getString('totalAnxiety')); 306 | total_d = int.parse(saveTotal.getString('totalDepression')); 307 | total_s = int.parse(saveTotal.getString('totalStress')); 308 | if(total_a >=6 || total_d >=7 )isSevere = true; 309 | else isSevere = false;*/ 310 | } 311 | Future pushToFirebase() async { 312 | final Map someMap = {}; 313 | print('map for SDRS created'); 314 | 315 | someMap["Q10"] = DateTime.now().toString(); 316 | for (int i = 0; i < 5; i++) { 317 | someMap["Q${i + 10+1}"] = SDRS_Questions[i].answer; 318 | print(SDRS_Questions[i].answer); 319 | } 320 | print('done'); 321 | SharedPreferences prefs = await SharedPreferences.getInstance(); 322 | String pushId = prefs.getString('key'); 323 | FirebaseDatabase.instance 324 | .reference() 325 | .child("Responses") 326 | .child(pushId) 327 | .child("sdrs") 328 | .set(someMap); 329 | } 330 | 331 | Widget summary(BuildContext context){ 332 | _calcResult(); 333 | return Center( 334 | child: Container( 335 | child: Column( 336 | mainAxisSize: MainAxisSize.min, 337 | children: [ 338 | Container( 339 | child: Image( 340 | image: AssetImage('assets/checklist.png'), 341 | height: 400.h, 342 | )), 343 | InkWell( 344 | onTap: ()async { 345 | setState(() { 346 | count = 0; 347 | for (int i = 0; i < 5; i++) { 348 | if (isselected[i][0] == true || 349 | isselected[i][1] == true || 350 | isselected[i][2] == true || 351 | isselected[i][3] == true || 352 | isselected[i][4] == true 353 | ) { 354 | count += 1; 355 | } 356 | } 357 | }); 358 | if(count == 5) 359 | { 360 | await pushToFirebase(); 361 | SharedPreferences prefs = await SharedPreferences.getInstance(); 362 | String dummy = prefs.get('currentPage'); 363 | int cp = int.parse(dummy); 364 | prefs.setString('currentPage', (cp+1).toString()); 365 | Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => TimerPage("Result",false)));//Done 366 | } 367 | else 368 | { 369 | final snackBar = SnackBar( 370 | content: Text("Please complete the questionnaire"), 371 | duration: Duration(milliseconds: 800), 372 | ); 373 | Scaffold.of(context).showSnackBar(snackBar); 374 | } 375 | 376 | }, 377 | child: Card( 378 | elevation: 8, 379 | color: Colors.teal[400], 380 | child: ListTile( 381 | leading: Icon(Icons.keyboard_arrow_right, color: Colors.white), 382 | title: Text( 383 | "Done", 384 | style: TextStyle(fontSize: 16, color: Colors.white), 385 | ), 386 | ), 387 | ), 388 | ) 389 | ], 390 | ), 391 | ), 392 | ); 393 | } 394 | 395 | } 396 | -------------------------------------------------------------------------------- /lib/Showup.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | import 'package:flutter/material.dart'; 3 | 4 | class ShowUp extends StatefulWidget { 5 | final Widget child; 6 | final int delay; 7 | 8 | ShowUp({@required this.child, this.delay}); 9 | 10 | @override 11 | _ShowUpState createState() => _ShowUpState(); 12 | } 13 | 14 | class _ShowUpState extends State with TickerProviderStateMixin { 15 | AnimationController _animController; 16 | Animation _animOffset; 17 | 18 | @override 19 | void initState() { 20 | super.initState(); 21 | 22 | _animController = 23 | AnimationController(vsync: this, duration: Duration(milliseconds: 100)); 24 | final curve = 25 | CurvedAnimation(curve: Curves.decelerate, parent: _animController); 26 | _animOffset = 27 | Tween(begin: const Offset(0.0, 0.35), end: Offset.zero) 28 | .animate(curve); 29 | 30 | if (widget.delay == null) { 31 | _animController.forward(); 32 | } else { 33 | Timer(Duration(milliseconds: widget.delay), () { 34 | _animController.forward(); 35 | }); 36 | } 37 | } 38 | @override 39 | void dispose() { 40 | super.dispose(); 41 | _animController.dispose(); 42 | } 43 | 44 | @override 45 | Widget build(BuildContext context) { 46 | return FadeTransition( 47 | child: SlideTransition( 48 | position: _animOffset, 49 | child: widget.child, 50 | ), 51 | opacity: _animController, 52 | ); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /lib/TimerPage.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:mental_health_app/BACE_Page.dart'; 4 | import 'package:mental_health_app/GAD7_Page.dart'; 5 | import 'package:mental_health_app/PHQ9_Page.dart'; 6 | import 'package:mental_health_app/ResultPage.dart'; 7 | import 'package:mental_health_app/SDRS_Page.dart'; 8 | import 'package:mental_health_app/Showup.dart'; 9 | import 'package:shared_preferences/shared_preferences.dart'; 10 | 11 | class TimerPage extends StatefulWidget { 12 | String nextPage; 13 | bool hasBth; 14 | TimerPage(this.nextPage, this.hasBth); 15 | @override 16 | _TimerPageState createState() => _TimerPageState(nextPage, hasBth); 17 | } 18 | 19 | class _TimerPageState extends State { 20 | bool hasBoth; 21 | String nextPage; 22 | _TimerPageState(this.nextPage, this.hasBoth); 23 | 24 | Future> getImageData() async { 25 | SharedPreferences prefs = await SharedPreferences.getInstance(); 26 | String dummy1 = prefs.get('currentPage'); 27 | int cp = int.parse(dummy1); 28 | String dummy2 = prefs.get('totalPages'); 29 | int tp = int.parse(dummy2); 30 | List pages = List(2); 31 | pages[0] = cp; 32 | pages[1] = tp; 33 | return pages; 34 | } 35 | 36 | @override 37 | Widget build(BuildContext context) { 38 | var _height = MediaQuery.of(context).size.height; 39 | var _width = MediaQuery.of(context).size.width; 40 | return Scaffold( 41 | backgroundColor: Colors.white, 42 | body: FutureBuilder( 43 | future: getImageData(), 44 | builder: (context, snapshot) { 45 | if (snapshot.data == null) { 46 | return CircularProgressIndicator(); 47 | } else 48 | return Padding( 49 | padding: EdgeInsets.symmetric( 50 | horizontal: MediaQuery.of(context).size.width / 20), 51 | child: ListView( 52 | children: [ 53 | SizedBox(height: MediaQuery.of(context).size.height / 20), 54 | Center( 55 | child: Column( 56 | mainAxisSize: MainAxisSize.min, 57 | mainAxisAlignment: MainAxisAlignment.center, 58 | crossAxisAlignment: CrossAxisAlignment.center, 59 | children: [ 60 | ShowUp( 61 | delay: 400, 62 | child: Container( 63 | child: Image( 64 | image: AssetImage( 65 | 'assets/timer_${snapshot.data[0]}-${snapshot.data[1]}.png'), 66 | height: MediaQuery.of(context).size.height / 5, 67 | )), 68 | ), 69 | SizedBox( 70 | // height: MediaQuery.of(context).size.height / 10, 71 | height: MediaQuery.of(context).size.height / 20, 72 | ), 73 | Text( 74 | snapshot.data[0] != snapshot.data[1] 75 | ? "${snapshot.data[0]} down ${snapshot.data[1] - snapshot.data[0]} more to go!" 76 | : "You have Completed all the quizzes, Click the below button to view your result!", 77 | style: TextStyle( 78 | fontSize: MediaQuery.of(context).size.width / 20, 79 | color: Colors.blueGrey, 80 | fontWeight: FontWeight.bold), 81 | ), 82 | // ListView(), 83 | TextPortion( 84 | nextPage: nextPage, 85 | ), 86 | SizedBox( 87 | height: MediaQuery.of(context).size.height / 30, 88 | ), 89 | ShowUp( 90 | child: Container( 91 | height: _height / 17, 92 | width: _width / 2, 93 | child: RaisedButton( 94 | //elevation: 10, 95 | onPressed: () { 96 | if (nextPage == "GAD7") { 97 | Navigator.pushReplacement( 98 | context, 99 | MaterialPageRoute( 100 | builder: (context) => 101 | GAD7Page(hasBoth))); 102 | } else if (nextPage == "PHQ9") { 103 | Navigator.pushReplacement( 104 | context, 105 | MaterialPageRoute( 106 | builder: (context) => PHQ9Page())); 107 | } else if (nextPage == "BACE") { 108 | Navigator.pushReplacement( 109 | context, 110 | MaterialPageRoute( 111 | builder: (context) => BACEPage())); 112 | } else if (nextPage == "SDRS") { 113 | Navigator.pushReplacement( 114 | context, 115 | MaterialPageRoute( 116 | builder: (context) => SDRSPage())); 117 | } else if (nextPage == "Result") { 118 | Navigator.pushReplacement( 119 | context, 120 | MaterialPageRoute( 121 | builder: (context) => ResultPage())); 122 | } else {} 123 | }, 124 | shape: RoundedRectangleBorder( 125 | borderRadius: BorderRadius.all( 126 | Radius.circular(30), 127 | ), 128 | ), 129 | textColor: Colors.white, 130 | color: Colors.teal, 131 | padding: const EdgeInsets.all(8.0), 132 | child: new Text( 133 | snapshot.data[0] != snapshot.data[1] 134 | ? "NEXT" 135 | : "View Result", 136 | style: TextStyle(fontSize: _width / 23), 137 | ), 138 | ), 139 | ), 140 | delay: 1100, 141 | ), 142 | SizedBox(height: 20) 143 | ], 144 | ), 145 | ), 146 | ]), 147 | ); 148 | }), 149 | ); 150 | } 151 | } 152 | 153 | class TextPortion extends StatelessWidget { 154 | TextPortion({ 155 | this.nextPage, 156 | Key key, 157 | }) : super(key: key); 158 | final String nextPage; 159 | double textSize = 18; 160 | 161 | @override 162 | Widget build(BuildContext context) { 163 | if (nextPage == "GAD7") { 164 | print("GAD7"); 165 | return Column( 166 | children: [ 167 | SizedBox(height: 20), 168 | Text( 169 | "To help us screen for Depression or Anxiety Disorder. (Keep in mind, this is just a screening test!)", 170 | style: TextStyle(fontSize: textSize)), 171 | SizedBox( 172 | height: 20, 173 | ), 174 | Text( 175 | "Select over the last 2 weeks, how often have you been bothered by the following problems.", 176 | style: TextStyle(color: Colors.red, fontSize: textSize)), 177 | SizedBox(height: 8), 178 | ], 179 | ); 180 | } else if (nextPage == "PHQ9") { 181 | print("PHQ9"); 182 | return Column( 183 | children: [ 184 | // SizedBox(height: 20), 185 | SizedBox(height: MediaQuery.of(context).size.height / 20), 186 | Text( 187 | "To help us screen for Depression or Anxiety Disorder. (Keep in mind, this is just a screening test!)", 188 | style: TextStyle(fontSize: textSize)), 189 | SizedBox( 190 | height: 20, 191 | ), 192 | Text( 193 | "Select over the last 2 weeks, how often have you been bothered by the following problems.", 194 | style: TextStyle(color: Colors.red, fontSize: textSize)), 195 | SizedBox(height: 8), 196 | ], 197 | ); 198 | } else if (nextPage == "SDRS") { 199 | print("SDRS"); 200 | return Column( 201 | children: [ 202 | SizedBox( 203 | height: 20, 204 | ), 205 | RichText( 206 | text: TextSpan(children: [ 207 | TextSpan( 208 | text: "Select", 209 | style: TextStyle(color: Colors.black, fontSize: textSize)), 210 | TextSpan( 211 | text: " how much the following statements apply to you, ", 212 | style: TextStyle(color: Colors.red, fontSize: textSize)), 213 | TextSpan( 214 | text: "this will help us understand you better.", 215 | style: TextStyle(color: Colors.black, fontSize: textSize)), 216 | ]), 217 | ), 218 | ], 219 | ); 220 | } else if (nextPage.compareTo("BACE") == 0) { 221 | print("BACE"); 222 | return Padding( 223 | padding: const EdgeInsets.symmetric(horizontal: 12), 224 | child: Column( 225 | children: [ 226 | SizedBox( 227 | height: 15, 228 | ), 229 | Text( 230 | "Next, you will see a list of things that can stop, delay, or discourage people from getting professional care for a mental health problem, or continuing to get help. By professional care, we mean care from staff such as a GP (family doctor), member of a community mental health team (e.g. care coordinator, mental health nurse or mental health social worker), psychiatrist, counselor, psychologist, or psychotherapist.", 231 | style: TextStyle(fontSize: textSize - 2)), 232 | SizedBox( 233 | height: 12, 234 | ), 235 | Text( 236 | "Answer the following questions in accordance to the extent up to which any of these issues ever stopped, delayed, or discouraged you from getting, or continuing with, professional care for a mental health problem?", 237 | style: TextStyle(color: Colors.red, fontSize: textSize - 2)), 238 | SizedBox( 239 | height: 12, 240 | ), 241 | Text( 242 | "Reference:\nBarriers to Care Evaluation (BACE-3) scale © 2011. Health Service and Population Research Department, Institute of Psychiatry, King’s College London.", 243 | style: TextStyle(color: Colors.red, fontSize: textSize - 6)), 244 | ], 245 | ), 246 | ); 247 | } else 248 | return Container(); 249 | } 250 | } 251 | -------------------------------------------------------------------------------- /lib/WebView.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_webview_plugin/flutter_webview_plugin.dart'; 3 | 4 | class WebViewPage extends StatefulWidget { 5 | String url; 6 | WebViewPage(this.url); 7 | @override 8 | _WebViewPageState createState() => _WebViewPageState(url); 9 | } 10 | 11 | class _WebViewPageState extends State { 12 | String url; 13 | _WebViewPageState(this.url); 14 | @override 15 | Widget build(BuildContext context) { 16 | return WebviewScaffold( 17 | initialChild: Center(child: CircularProgressIndicator()), 18 | url: url, 19 | ); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /lib/dass21_intro.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:mental_health_app/DASS21_Page.dart'; 3 | 4 | import 'Showup.dart'; 5 | 6 | class Dass21Intro extends StatelessWidget { 7 | const Dass21Intro({Key key}) : super(key: key); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | double textSize = 18; 12 | var _height = MediaQuery.of(context).size.height; 13 | var _width = MediaQuery.of(context).size.width; 14 | return Scaffold( 15 | body: Padding( 16 | padding: EdgeInsets.symmetric( 17 | horizontal: MediaQuery.of(context).size.width / 12), 18 | child: ListView(children: [ 19 | SizedBox(height: MediaQuery.of(context).size.height / 20), 20 | Center( 21 | child: Column( 22 | mainAxisAlignment: MainAxisAlignment.center, 23 | crossAxisAlignment: CrossAxisAlignment.center, 24 | children: [ 25 | ShowUp( 26 | delay: 400, 27 | child: Container( 28 | child: Image( 29 | image: AssetImage('assets/dass-timer.png'), 30 | height: MediaQuery.of(context).size.height / 5, 31 | )), 32 | ), 33 | SizedBox( 34 | // height: MediaQuery.of(context).size.height / 10, 35 | height: MediaQuery.of(context).size.height / 20, 36 | ), 37 | Text( 38 | "Kudos on taking a step towards improving your mental health!", 39 | textAlign: TextAlign.center, 40 | style: TextStyle( 41 | fontSize: MediaQuery.of(context).size.width / 20, 42 | color: Colors.black, 43 | fontWeight: FontWeight.bold), 44 | ), 45 | // TextPortion( 46 | // nextPage: nextPage, 47 | // ), 48 | SizedBox( 49 | height: MediaQuery.of(context).size.height / 30, 50 | ), 51 | 52 | RichText( 53 | text: TextSpan(children: [ 54 | TextSpan( 55 | text: 56 | "Before you start answering the Questions, Read each statement and select based on ", 57 | style: 58 | TextStyle(color: Colors.black, fontSize: textSize)), 59 | TextSpan( 60 | text: 61 | "how much the statement applied to you over the past week.", 62 | style: 63 | TextStyle(color: Colors.red, fontSize: textSize)), 64 | ]), 65 | ), 66 | SizedBox( 67 | height: 20, 68 | ), 69 | Text( 70 | "Note: There are no right or wrong answers. So, do not spend too much time on any Question. Answer the Questions honestly, it will help us ascertain if you’re stressed and are unable to cope with your anxious and depressive thoughts.", 71 | style: TextStyle(color: Colors.black, fontSize: textSize)), 72 | SizedBox( 73 | height: 20, 74 | ), 75 | ShowUp( 76 | child: Container( 77 | height: _height / 17, 78 | width: _width / 2, 79 | child: RaisedButton( 80 | //elevation: 10, 81 | onPressed: () { 82 | Navigator.push( 83 | context, 84 | MaterialPageRoute( 85 | builder: (context) => Dass21Page())); 86 | }, 87 | shape: RoundedRectangleBorder( 88 | borderRadius: BorderRadius.all( 89 | Radius.circular(30), 90 | ), 91 | ), 92 | textColor: Colors.white, 93 | color: Colors.teal, 94 | padding: const EdgeInsets.all(8.0), 95 | child: new Text( 96 | "NEXT", 97 | style: TextStyle(fontSize: _width / 23), 98 | ), 99 | ), 100 | ), 101 | delay: 1100, 102 | ), 103 | SizedBox(height: 20) 104 | ], 105 | ), 106 | ), 107 | ]), 108 | ), 109 | ); 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /lib/question.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class Question { 4 | String ques,opt1,opt2,opt3,opt4,opt5,imgURL,answer; 5 | Color opt1Color,opt2Color,opt3Color,opt4Color,opt5Color; 6 | int points,type; 7 | void getQues(String ques, String url){ 8 | this.ques = ques; 9 | this.imgURL = url; 10 | } 11 | 12 | void getColor(ColorSwatch c1,ColorSwatch c2,ColorSwatch c3,ColorSwatch c4,[ColorSwatch c5]){ 13 | this.opt1Color = c1[400]; 14 | this.opt2Color = c2[500]; 15 | this.opt3Color = c3[600]; 16 | this.opt4Color = c4[700]; 17 | if(c5!=null) 18 | this.opt5Color = c5[800]; 19 | else 20 | this.opt5Color = c5; 21 | } 22 | 23 | void getOptions(opt1,opt2,opt3,opt4,[opt5]){ 24 | this.opt1 = opt1; 25 | this.opt2 = opt2; 26 | this.opt3 = opt3; 27 | this.opt4 = opt4; 28 | this.opt5 = opt5; 29 | } 30 | } -------------------------------------------------------------------------------- /lib/test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_swiper/flutter_swiper.dart'; 3 | import 'package:mental_health_app/question.dart'; 4 | 5 | import 'Showup.dart'; 6 | 7 | //void main() => runApp(new MyApp()); 8 | 9 | /*class MyApp extends StatelessWidget { 10 | @override 11 | Widget build(BuildContext context) { 12 | return new MaterialApp( 13 | debugShowCheckedModeBanner: false, 14 | title: 'Flutter Demo', 15 | theme: new ThemeData( 16 | primarySwatch: Colors.blue, 17 | ), 18 | home: new Quiz(), 19 | ); 20 | } 21 | }*/ 22 | 23 | class QuizTest extends StatefulWidget { 24 | QuizTest({Key key, this.title}) : super(key: key); 25 | 26 | final String title; 27 | 28 | @override 29 | QuizTestState createState() => new QuizTestState(); 30 | Widget build(BuildContext context) { 31 | return new MaterialApp( 32 | home: QuizTest(), 33 | debugShowCheckedModeBanner: false, 34 | ); 35 | } 36 | } 37 | 38 | class QuizTestState extends State { 39 | String session; 40 | 41 | SwiperController _controller = SwiperController(); 42 | List answers = [-1, -1, -1, -1, -1, -1, -1, -1]; 43 | List userDeets = List(); 44 | List demographicQuestions = [ 45 | "Enter your Gender", 46 | "Enter your DOB", 47 | "Enter your Branch and Year", 48 | "Any previous Psychiatric consultation? If yes, What?", 49 | "Any known Medical Conditions? If yes, What?" 50 | ]; 51 | List demographicImages = [ 52 | "https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Gender_symbols_side_by_side_solid.svg/1200px-Gender_symbols_side_by_side_solid.svg.png", 53 | "https://www.pngkey.com/png/full/194-1942977_celebrate-your-birthday-with-bodyfactory-convenient-location-icon.png", 54 | "https://static.vecteezy.com/system/resources/previews/000/511/962/non_2x/vector-student-glyph-black-icon.jpg", 55 | "https://media-exp1.licdn.com/dms/image/C4D1BAQG7r0WmbuCpWg/company-background_10000/0?e=2159024400&v=beta&t=MG2Val9hsa_eX0HcYmch0WN-yjaDoduniTHTb_nSN38", 56 | "https://cdn.pixabay.com/photo/2017/03/02/09/26/question-mark-2110767_960_720.jpg" 57 | ]; 58 | 59 | List SDRS_Questions = [ 60 | Question(), 61 | Question(), 62 | Question(), 63 | Question(), 64 | Question() 65 | ]; 66 | 67 | _getQuestions() { 68 | SDRS_Questions[0] 69 | .getQues("I found it hard to wind down\n", 'assets/hardtowinddown.png'); 70 | SDRS_Questions[1].getQues( 71 | "I was aware of dryness of my mouth\n", 'assets/mouthdryness.png'); 72 | SDRS_Questions[2].getQues( 73 | "I couldn’t seem to experience any positive feeling at all \n", 74 | 'assets/no positive feeling.png'); 75 | SDRS_Questions[3].getQues("I experienced breathing difficulty\n", 76 | 'assets/breathingdifficulty.png'); 77 | SDRS_Questions[4].getQues( 78 | "I found it difficult to work up the initiative to do things\n", 79 | 'assets/difficultinitiative.png'); 80 | for (int i = 0; i < 5; i++) { 81 | SDRS_Questions[i].getOptions( 82 | 'Did not apply to me at all', 83 | 'Applied to me to some degree', 84 | 'Applied to me to a considerable degree', 85 | 'Applied to me very much'); 86 | SDRS_Questions[i] 87 | .getColor(Colors.blue, Colors.yellow, Colors.red, Colors.green); 88 | } 89 | } 90 | 91 | @override 92 | void initState() { 93 | super.initState(); 94 | _getQuestions(); 95 | } 96 | 97 | @override 98 | Widget build(BuildContext context) { 99 | return MaterialApp( 100 | debugShowCheckedModeBanner: false, 101 | home: Scaffold( 102 | backgroundColor: Colors.white, 103 | body: new Swiper( 104 | //TODO: onIndexChanged: 105 | curve: Curves.easeInOut, 106 | scrollDirection: Axis.vertical, 107 | loop: false, 108 | viewportFraction: 0.9, 109 | scale: 0.8, 110 | controller: _controller, 111 | itemBuilder: (BuildContext context, int index) { 112 | //return Image(image: AssetImage('assets/google-developers-logo.png')); 113 | if (index == 0) { 114 | return page(SDRS_Questions[index]); 115 | } else if (index == 1) { 116 | return page(SDRS_Questions[index]); 117 | } else if (index == 2) { 118 | return page(SDRS_Questions[index]); 119 | } else if (index == 3) { 120 | return page(SDRS_Questions[index]); 121 | } else if (index == 4) { 122 | return page(SDRS_Questions[index]); 123 | } else 124 | return null; 125 | }, 126 | itemCount: 5, 127 | // pagination: new SwiperPagination( 128 | // alignment: Alignment.topRight, 129 | // builder: SwiperPagination.fraction, 130 | // margin: EdgeInsets.all(40)), 131 | control: new SwiperControl(color: Colors.red), 132 | ), 133 | ), 134 | ); 135 | } 136 | 137 | Widget page(Question question) { 138 | return Center( 139 | child: SizedBox( 140 | //height: 800, 141 | child: Column( 142 | children: [ 143 | Container( 144 | child: Image( 145 | image: AssetImage(question.imgURL), 146 | height: 250, 147 | )), 148 | SizedBox(height: 20), 149 | Padding( 150 | padding: EdgeInsets.symmetric(horizontal: 20), 151 | child: Text( 152 | question.ques, 153 | textAlign: TextAlign.center, 154 | style: TextStyle( 155 | fontSize: 22, 156 | fontWeight: FontWeight.bold, 157 | color: Colors.black), 158 | ), 159 | ), 160 | SizedBox(height: 20), 161 | InkWell( 162 | onTap: () { 163 | _controller.next(); 164 | setState(() { 165 | answers[1] = 0; 166 | }); 167 | }, 168 | child: Card( 169 | elevation: 8, 170 | color: question.opt1Color, 171 | child: ListTile( 172 | leading: 173 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 174 | title: Text( 175 | question.opt1, 176 | style: TextStyle(fontSize: 16, color: Colors.white), 177 | ), 178 | ), 179 | ), 180 | ), 181 | InkWell( 182 | onTap: () { 183 | _controller.next(); 184 | setState(() { 185 | answers[1] = 0; 186 | }); 187 | }, 188 | child: Card( 189 | elevation: 8, 190 | color: question.opt2Color, 191 | child: ListTile( 192 | leading: 193 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 194 | title: Text( 195 | question.opt2, 196 | style: TextStyle(fontSize: 16, color: Colors.white), 197 | ), 198 | ), 199 | ), 200 | ), 201 | InkWell( 202 | onTap: () { 203 | _controller.next(); 204 | setState(() { 205 | answers[1] = 0; 206 | }); 207 | }, 208 | child: Card( 209 | elevation: 8, 210 | color: question.opt3Color, 211 | child: ListTile( 212 | leading: 213 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 214 | title: Text( 215 | question.opt3, 216 | style: TextStyle(fontSize: 16, color: Colors.white), 217 | ), 218 | ), 219 | ), 220 | ), 221 | InkWell( 222 | onTap: () { 223 | _controller.next(); 224 | setState(() { 225 | answers[1] = 0; 226 | }); 227 | }, 228 | child: Card( 229 | elevation: 8, 230 | color: question.opt4Color, 231 | child: ListTile( 232 | leading: 233 | Icon(Icons.keyboard_arrow_right, color: Colors.white), 234 | title: Text( 235 | question.opt4, 236 | style: TextStyle(fontSize: 16, color: Colors.white), 237 | ), 238 | ), 239 | ), 240 | ), 241 | ], 242 | ), 243 | ), 244 | ); 245 | } 246 | } 247 | -------------------------------------------------------------------------------- /mockups/Screen1_iphonexspacegrey_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/mockups/Screen1_iphonexspacegrey_portrait.png -------------------------------------------------------------------------------- /mockups/Screen2_iphonexspacegrey_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/mockups/Screen2_iphonexspacegrey_portrait.png -------------------------------------------------------------------------------- /mockups/Screen3_iphonexspacegrey_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/mockups/Screen3_iphonexspacegrey_portrait.png -------------------------------------------------------------------------------- /mockups/Screen4_iphonexspacegrey_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/mockups/Screen4_iphonexspacegrey_portrait.png -------------------------------------------------------------------------------- /pubspec.lock: -------------------------------------------------------------------------------- 1 | # Generated by pub 2 | # See https://dart.dev/tools/pub/glossary#lockfile 3 | packages: 4 | args: 5 | dependency: transitive 6 | description: 7 | name: args 8 | url: "https://pub.dartlang.org" 9 | source: hosted 10 | version: "1.6.0" 11 | async: 12 | dependency: transitive 13 | description: 14 | name: async 15 | url: "https://pub.dartlang.org" 16 | source: hosted 17 | version: "2.4.2" 18 | avatar_glow: 19 | dependency: "direct main" 20 | description: 21 | name: avatar_glow 22 | url: "https://pub.dartlang.org" 23 | source: hosted 24 | version: "1.2.0" 25 | boolean_selector: 26 | dependency: transitive 27 | description: 28 | name: boolean_selector 29 | url: "https://pub.dartlang.org" 30 | source: hosted 31 | version: "2.0.0" 32 | characters: 33 | dependency: transitive 34 | description: 35 | name: characters 36 | url: "https://pub.dartlang.org" 37 | source: hosted 38 | version: "1.0.0" 39 | charcode: 40 | dependency: transitive 41 | description: 42 | name: charcode 43 | url: "https://pub.dartlang.org" 44 | source: hosted 45 | version: "1.1.3" 46 | clock: 47 | dependency: transitive 48 | description: 49 | name: clock 50 | url: "https://pub.dartlang.org" 51 | source: hosted 52 | version: "1.0.1" 53 | collection: 54 | dependency: transitive 55 | description: 56 | name: collection 57 | url: "https://pub.dartlang.org" 58 | source: hosted 59 | version: "1.14.13" 60 | convert: 61 | dependency: transitive 62 | description: 63 | name: convert 64 | url: "https://pub.dartlang.org" 65 | source: hosted 66 | version: "2.1.1" 67 | crypto: 68 | dependency: transitive 69 | description: 70 | name: crypto 71 | url: "https://pub.dartlang.org" 72 | source: hosted 73 | version: "2.1.5" 74 | cupertino_icons: 75 | dependency: "direct main" 76 | description: 77 | name: cupertino_icons 78 | url: "https://pub.dartlang.org" 79 | source: hosted 80 | version: "0.1.3" 81 | device_preview: 82 | dependency: "direct main" 83 | description: 84 | name: device_preview 85 | url: "https://pub.dartlang.org" 86 | source: hosted 87 | version: "0.4.5" 88 | fake_async: 89 | dependency: transitive 90 | description: 91 | name: fake_async 92 | url: "https://pub.dartlang.org" 93 | source: hosted 94 | version: "1.1.0" 95 | file: 96 | dependency: transitive 97 | description: 98 | name: file 99 | url: "https://pub.dartlang.org" 100 | source: hosted 101 | version: "5.2.1" 102 | firebase: 103 | dependency: transitive 104 | description: 105 | name: firebase 106 | url: "https://pub.dartlang.org" 107 | source: hosted 108 | version: "7.3.0" 109 | firebase_core: 110 | dependency: transitive 111 | description: 112 | name: firebase_core 113 | url: "https://pub.dartlang.org" 114 | source: hosted 115 | version: "0.4.5" 116 | firebase_core_platform_interface: 117 | dependency: transitive 118 | description: 119 | name: firebase_core_platform_interface 120 | url: "https://pub.dartlang.org" 121 | source: hosted 122 | version: "1.0.4" 123 | firebase_core_web: 124 | dependency: transitive 125 | description: 126 | name: firebase_core_web 127 | url: "https://pub.dartlang.org" 128 | source: hosted 129 | version: "0.1.1+2" 130 | firebase_database: 131 | dependency: "direct main" 132 | description: 133 | name: firebase_database 134 | url: "https://pub.dartlang.org" 135 | source: hosted 136 | version: "3.1.6" 137 | firebase_messaging: 138 | dependency: "direct main" 139 | description: 140 | name: firebase_messaging 141 | url: "https://pub.dartlang.org" 142 | source: hosted 143 | version: "6.0.16" 144 | flutter: 145 | dependency: "direct main" 146 | description: flutter 147 | source: sdk 148 | version: "0.0.0" 149 | flutter_page_indicator: 150 | dependency: transitive 151 | description: 152 | name: flutter_page_indicator 153 | url: "https://pub.dartlang.org" 154 | source: hosted 155 | version: "0.0.3" 156 | flutter_pdfview: 157 | dependency: "direct main" 158 | description: 159 | name: flutter_pdfview 160 | url: "https://pub.dartlang.org" 161 | source: hosted 162 | version: "1.0.3" 163 | flutter_screenutil: 164 | dependency: "direct main" 165 | description: 166 | name: flutter_screenutil 167 | url: "https://pub.dartlang.org" 168 | source: hosted 169 | version: "1.1.0" 170 | flutter_swiper: 171 | dependency: "direct main" 172 | description: 173 | name: flutter_swiper 174 | url: "https://pub.dartlang.org" 175 | source: hosted 176 | version: "1.1.6" 177 | flutter_test: 178 | dependency: "direct dev" 179 | description: flutter 180 | source: sdk 181 | version: "0.0.0" 182 | flutter_web_plugins: 183 | dependency: transitive 184 | description: flutter 185 | source: sdk 186 | version: "0.0.0" 187 | flutter_webview_plugin: 188 | dependency: "direct main" 189 | description: 190 | name: flutter_webview_plugin 191 | url: "https://pub.dartlang.org" 192 | source: hosted 193 | version: "0.3.11" 194 | font_awesome_flutter: 195 | dependency: transitive 196 | description: 197 | name: font_awesome_flutter 198 | url: "https://pub.dartlang.org" 199 | source: hosted 200 | version: "8.8.1" 201 | freezed_annotation: 202 | dependency: transitive 203 | description: 204 | name: freezed_annotation 205 | url: "https://pub.dartlang.org" 206 | source: hosted 207 | version: "0.7.1" 208 | google_fonts: 209 | dependency: "direct main" 210 | description: 211 | name: google_fonts 212 | url: "https://pub.dartlang.org" 213 | source: hosted 214 | version: "1.1.0" 215 | highlight_text: 216 | dependency: "direct main" 217 | description: 218 | name: highlight_text 219 | url: "https://pub.dartlang.org" 220 | source: hosted 221 | version: "0.7.2" 222 | http: 223 | dependency: "direct main" 224 | description: 225 | name: http 226 | url: "https://pub.dartlang.org" 227 | source: hosted 228 | version: "0.12.1" 229 | http_parser: 230 | dependency: transitive 231 | description: 232 | name: http_parser 233 | url: "https://pub.dartlang.org" 234 | source: hosted 235 | version: "3.1.4" 236 | intl: 237 | dependency: transitive 238 | description: 239 | name: intl 240 | url: "https://pub.dartlang.org" 241 | source: hosted 242 | version: "0.16.1" 243 | js: 244 | dependency: transitive 245 | description: 246 | name: js 247 | url: "https://pub.dartlang.org" 248 | source: hosted 249 | version: "0.6.2" 250 | json_annotation: 251 | dependency: transitive 252 | description: 253 | name: json_annotation 254 | url: "https://pub.dartlang.org" 255 | source: hosted 256 | version: "3.0.1" 257 | language_pickers: 258 | dependency: "direct main" 259 | description: 260 | name: language_pickers 261 | url: "https://pub.dartlang.org" 262 | source: hosted 263 | version: "0.2.0+1" 264 | link: 265 | dependency: "direct main" 266 | description: 267 | name: link 268 | url: "https://pub.dartlang.org" 269 | source: hosted 270 | version: "1.1.0" 271 | logger: 272 | dependency: transitive 273 | description: 274 | name: logger 275 | url: "https://pub.dartlang.org" 276 | source: hosted 277 | version: "0.9.1" 278 | matcher: 279 | dependency: transitive 280 | description: 281 | name: matcher 282 | url: "https://pub.dartlang.org" 283 | source: hosted 284 | version: "0.12.8" 285 | meta: 286 | dependency: transitive 287 | description: 288 | name: meta 289 | url: "https://pub.dartlang.org" 290 | source: hosted 291 | version: "1.1.8" 292 | path: 293 | dependency: transitive 294 | description: 295 | name: path 296 | url: "https://pub.dartlang.org" 297 | source: hosted 298 | version: "1.7.0" 299 | path_provider: 300 | dependency: "direct main" 301 | description: 302 | name: path_provider 303 | url: "https://pub.dartlang.org" 304 | source: hosted 305 | version: "1.6.11" 306 | path_provider_linux: 307 | dependency: transitive 308 | description: 309 | name: path_provider_linux 310 | url: "https://pub.dartlang.org" 311 | source: hosted 312 | version: "0.0.1+2" 313 | path_provider_macos: 314 | dependency: transitive 315 | description: 316 | name: path_provider_macos 317 | url: "https://pub.dartlang.org" 318 | source: hosted 319 | version: "0.0.4+3" 320 | path_provider_platform_interface: 321 | dependency: transitive 322 | description: 323 | name: path_provider_platform_interface 324 | url: "https://pub.dartlang.org" 325 | source: hosted 326 | version: "1.0.2" 327 | pedantic: 328 | dependency: transitive 329 | description: 330 | name: pedantic 331 | url: "https://pub.dartlang.org" 332 | source: hosted 333 | version: "1.9.0" 334 | platform: 335 | dependency: transitive 336 | description: 337 | name: platform 338 | url: "https://pub.dartlang.org" 339 | source: hosted 340 | version: "2.2.1" 341 | platform_detect: 342 | dependency: transitive 343 | description: 344 | name: platform_detect 345 | url: "https://pub.dartlang.org" 346 | source: hosted 347 | version: "1.4.0" 348 | plugin_platform_interface: 349 | dependency: transitive 350 | description: 351 | name: plugin_platform_interface 352 | url: "https://pub.dartlang.org" 353 | source: hosted 354 | version: "1.0.2" 355 | process: 356 | dependency: transitive 357 | description: 358 | name: process 359 | url: "https://pub.dartlang.org" 360 | source: hosted 361 | version: "3.0.13" 362 | pub_semver: 363 | dependency: transitive 364 | description: 365 | name: pub_semver 366 | url: "https://pub.dartlang.org" 367 | source: hosted 368 | version: "1.4.4" 369 | quiver: 370 | dependency: transitive 371 | description: 372 | name: quiver 373 | url: "https://pub.dartlang.org" 374 | source: hosted 375 | version: "2.1.3" 376 | rename: 377 | dependency: "direct main" 378 | description: 379 | name: rename 380 | url: "https://pub.dartlang.org" 381 | source: hosted 382 | version: "1.2.0" 383 | shared_preferences: 384 | dependency: "direct main" 385 | description: 386 | name: shared_preferences 387 | url: "https://pub.dartlang.org" 388 | source: hosted 389 | version: "0.5.8" 390 | shared_preferences_linux: 391 | dependency: transitive 392 | description: 393 | name: shared_preferences_linux 394 | url: "https://pub.dartlang.org" 395 | source: hosted 396 | version: "0.0.2+1" 397 | shared_preferences_macos: 398 | dependency: transitive 399 | description: 400 | name: shared_preferences_macos 401 | url: "https://pub.dartlang.org" 402 | source: hosted 403 | version: "0.0.1+10" 404 | shared_preferences_platform_interface: 405 | dependency: transitive 406 | description: 407 | name: shared_preferences_platform_interface 408 | url: "https://pub.dartlang.org" 409 | source: hosted 410 | version: "1.0.4" 411 | shared_preferences_web: 412 | dependency: transitive 413 | description: 414 | name: shared_preferences_web 415 | url: "https://pub.dartlang.org" 416 | source: hosted 417 | version: "0.1.2+7" 418 | sky_engine: 419 | dependency: transitive 420 | description: flutter 421 | source: sdk 422 | version: "0.0.99" 423 | source_span: 424 | dependency: transitive 425 | description: 426 | name: source_span 427 | url: "https://pub.dartlang.org" 428 | source: hosted 429 | version: "1.7.0" 430 | stack_trace: 431 | dependency: transitive 432 | description: 433 | name: stack_trace 434 | url: "https://pub.dartlang.org" 435 | source: hosted 436 | version: "1.9.5" 437 | step_progress_indicator: 438 | dependency: "direct main" 439 | description: 440 | name: step_progress_indicator 441 | url: "https://pub.dartlang.org" 442 | source: hosted 443 | version: "0.1.1+2" 444 | stream_channel: 445 | dependency: transitive 446 | description: 447 | name: stream_channel 448 | url: "https://pub.dartlang.org" 449 | source: hosted 450 | version: "2.0.0" 451 | string_scanner: 452 | dependency: transitive 453 | description: 454 | name: string_scanner 455 | url: "https://pub.dartlang.org" 456 | source: hosted 457 | version: "1.0.5" 458 | term_glyph: 459 | dependency: transitive 460 | description: 461 | name: term_glyph 462 | url: "https://pub.dartlang.org" 463 | source: hosted 464 | version: "1.1.0" 465 | test_api: 466 | dependency: transitive 467 | description: 468 | name: test_api 469 | url: "https://pub.dartlang.org" 470 | source: hosted 471 | version: "0.2.17" 472 | transformer_page_view: 473 | dependency: transitive 474 | description: 475 | name: transformer_page_view 476 | url: "https://pub.dartlang.org" 477 | source: hosted 478 | version: "0.1.6" 479 | typed_data: 480 | dependency: transitive 481 | description: 482 | name: typed_data 483 | url: "https://pub.dartlang.org" 484 | source: hosted 485 | version: "1.2.0" 486 | url_launcher: 487 | dependency: "direct main" 488 | description: 489 | name: url_launcher 490 | url: "https://pub.dartlang.org" 491 | source: hosted 492 | version: "5.5.0" 493 | url_launcher_linux: 494 | dependency: transitive 495 | description: 496 | name: url_launcher_linux 497 | url: "https://pub.dartlang.org" 498 | source: hosted 499 | version: "0.0.1+1" 500 | url_launcher_macos: 501 | dependency: transitive 502 | description: 503 | name: url_launcher_macos 504 | url: "https://pub.dartlang.org" 505 | source: hosted 506 | version: "0.0.1+7" 507 | url_launcher_platform_interface: 508 | dependency: transitive 509 | description: 510 | name: url_launcher_platform_interface 511 | url: "https://pub.dartlang.org" 512 | source: hosted 513 | version: "1.0.7" 514 | url_launcher_web: 515 | dependency: transitive 516 | description: 517 | name: url_launcher_web 518 | url: "https://pub.dartlang.org" 519 | source: hosted 520 | version: "0.1.2" 521 | vector_math: 522 | dependency: transitive 523 | description: 524 | name: vector_math 525 | url: "https://pub.dartlang.org" 526 | source: hosted 527 | version: "2.0.8" 528 | xdg_directories: 529 | dependency: transitive 530 | description: 531 | name: xdg_directories 532 | url: "https://pub.dartlang.org" 533 | source: hosted 534 | version: "0.1.0" 535 | sdks: 536 | dart: ">=2.9.0-14.0.dev <3.0.0" 537 | flutter: ">=1.17.0 <2.0.0" 538 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: mental_health_app 2 | description: A new Flutter project. 3 | 4 | # The following defines the version and build number for your application. 5 | # A version number is three numbers separated by dots, like 1.2.43 6 | # followed by an optional build number separated by a +. 7 | # Both the version and the builder number may be overridden in flutter 8 | # build by specifying --build-name and --build-number, respectively. 9 | # In Android, build-name is used as versionName while build-number used as versionCode. 10 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning 11 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. 12 | # Read more about iOS versioning at 13 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html 14 | version: 1.8.3 15 | 16 | environment: 17 | sdk: ">=2.1.0 <3.0.0" 18 | 19 | dependencies: 20 | flutter: 21 | sdk: flutter 22 | rename: ^1.1.9 23 | firebase_database: ^3.1.5 24 | 25 | # The following adds the Cupertino Icons font to your application. 26 | # Use with the CupertinoIcons class for iOS style icons. 27 | cupertino_icons: ^0.1.2 28 | flutter_swiper: ^1.1.6 29 | step_progress_indicator: ^0.1.0+1 30 | link: ^1.1.0 31 | flutter_screenutil: ^1.1.0 32 | avatar_glow: null 33 | shared_preferences: null 34 | firebase_messaging: null 35 | url_launcher: null 36 | flutter_webview_plugin: 0.3.11 37 | device_preview: 0.4.5 38 | highlight_text: null 39 | language_pickers: null 40 | flutter_pdfview: null 41 | path_provider: null 42 | http: null 43 | google_fonts: ^1.1.0 44 | 45 | dev_dependencies: 46 | flutter_test: 47 | sdk: flutter 48 | 49 | # For information on the generic Dart part of this file, see the 50 | # following page: https://dart.dev/tools/pub/pubspec 51 | # The following section is specific to Flutter. 52 | flutter: 53 | assets: 54 | - assets/ 55 | 56 | # The following line ensures that the Material Icons font is 57 | # included with your application, so that you can use the icons in 58 | # the material Icons class. 59 | uses-material-design: true 60 | # To add assets to your application, add an assets section, like this: 61 | # assets: 62 | # - images/a_dot_burr.jpeg 63 | # - images/a_dot_ham.jpeg 64 | # An image asset can refer to one or more resolution-specific "variants", see 65 | # https://flutter.dev/assets-and-images/#resolution-aware. 66 | # For details regarding adding assets from package dependencies, see 67 | # https://flutter.dev/assets-and-images/#from-packages 68 | # To add custom fonts to your application, add a fonts section here, 69 | # in this "flutter" section. Each entry in this list should have a 70 | # "family" key with the font family name, and a "fonts" key with a 71 | # list giving the asset and other descriptors for the font. For 72 | # example: 73 | # fonts: 74 | # - family: Schyler 75 | # fonts: 76 | # - asset: fonts/Schyler-Regular.ttf 77 | # - asset: fonts/Schyler-Italic.ttf 78 | # style: italic 79 | # - family: Trajan Pro 80 | # fonts: 81 | # - asset: fonts/TrajanPro.ttf 82 | # - asset: fonts/TrajanPro_Bold.ttf 83 | # weight: 700 84 | # 85 | # For details regarding fonts from package dependencies, 86 | # see https://flutter.dev/custom-fonts/#from-packages 87 | 88 | -------------------------------------------------------------------------------- /static/Consent Form.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/static/Consent Form.pdf -------------------------------------------------------------------------------- /static/Get Help Now.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/static/Get Help Now.pdf -------------------------------------------------------------------------------- /static/Know the Team.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/static/Know the Team.pdf -------------------------------------------------------------------------------- /static/Privacy Policy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/static/Privacy Policy.pdf -------------------------------------------------------------------------------- /static/Terms of Use.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MLSA-SRM/MentalHealthApp/a301c7ab4a0202a1c85dc119fb7a0b5ad20b2fac/static/Terms of Use.pdf -------------------------------------------------------------------------------- /test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | import 'package:flutter/material.dart'; 9 | import 'package:flutter_test/flutter_test.dart'; 10 | 11 | import 'package:mental_health_app/main.dart'; 12 | 13 | void main() { 14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async { 15 | // Build our app and trigger a frame. 16 | await tester.pumpWidget(MyApp()); 17 | 18 | // Verify that our counter starts at 0. 19 | expect(find.text('0'), findsOneWidget); 20 | expect(find.text('1'), findsNothing); 21 | 22 | // Tap the '+' icon and trigger a frame. 23 | await tester.tap(find.byIcon(Icons.add)); 24 | await tester.pump(); 25 | 26 | // Verify that our counter has incremented. 27 | expect(find.text('0'), findsNothing); 28 | expect(find.text('1'), findsOneWidget); 29 | }); 30 | } 31 | --------------------------------------------------------------------------------