From fc75bab969818f6fde750a181af8401d88f020cf Mon Sep 17 00:00:00 2001 From: vinay <146422870+vinu0404@users.noreply.github.com> Date: Sun, 29 Oct 2023 20:01:22 +0530 Subject: [PATCH 1/3] Add files via upload --- .gitignore | 15 ++++ README.md | 68 +++++++++--------- build.gradle | 26 +++++++ gradle.properties | 19 +++++ gradlew | 172 ++++++++++++++++++++++++++++++++++++++++++++++ gradlew.bat | 84 ++++++++++++++++++++++ settings.gradle | 2 + 7 files changed, 354 insertions(+), 32 deletions(-) create mode 100644 .gitignore create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..aa724b77 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/README.md b/README.md index 877fb545..6c094848 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,36 @@ -# Code-with-Google-Maps-2023 - Hack2skill - -Welcome to the official repository for the Code-with-Google-Maps-2023 organized by Hack2skill! - -## Getting Started - -To get started with the Code-with-Google-Maps-2023 repository, follow these steps: - -### Submission Instruction: - 1. Fork this repository - 2. Create a folder with your Team Name - 3. Upload all the code and necessary files in the created folder - 4. Upload a **README.md** file in your folder with the below mentioned informations. - 5. Generate a Pull Request with your Team Name. (Example: submission-XYZ_team) - -### README.md must consist of the following information: - -#### Team Name - -#### Problem Statement - -#### Team Leader Email - - -### A Brief of the Prototype: - This section must include UML Diagrams and prototype description - -### Tech Stack: - List Down all technologies used to Build the prototype - -### Step-by-Step Code Execution Instructions: - This Section must contain a set of instructions required to clone and run the prototype so that it can be tested and deeply analyzed - -### Future Scope: - Write about the scalability and futuristic aspects of the prototype developed + + +# disaster-managment-through-google-maps + +# Team name = Double Trio ; + +# Problem statement : + We intend to provide a solution by establishing a +nationwide network to interconnect all rescue agencies within a unified +platform to collaborate and share their resources during natural/man-made +disaster. + +# Team Leader Email : 22cs3075@rgipt.ac.in + +# Brief about Prototype: + We aim to systematically store images with precise location data (using the Geocoding API) and related notes, ensuring comprehensive record-keeping for future retrieval and contextual understanding. To notify users within a 2-kilometer radius, I recommend integrating the Nearby Messages API. This tool delivers location-based notifications to nearby users, enhancing engagement and communication. + +# Tech Stack: + Website development: HTML, CSS, Javascript, Django, Python + App development : Flutter + Mapping: Geocoding API, Places API, Route API, Directions API, Distance Matrix API, Geolocation API, Static Maps API + Messaging system: Firebase Cloud Messaging (FCM), Nearby messages API + Database: GOOGLE CLOUD RDS (MYSQL) + +# Scalability: + The project aims to connect all rescue agencies nationwide, which means it needs to be scalable to accommodate a large number of agencies and users. +The system should be designed to handle an increasing volume of data, communication, and resource sharing as the network expands. +Scalability can be achieved through the use of distributed systems, cloud infrastructure, and efficient data management techniques. +The platform should be able to scale both horizontally (adding more agencies and users) and vertically (handling increased data and traffic). + +# Future aspects: + The project aligns with the ongoing advancements in technology and communication systems, leveraging them to enhance disaster management capabilities. +It can incorporate cutting-edge technologies like Internet of Things (IoT), artificial intelligence (AI), and machine learning (ML) for real-time data analysis, predictive modeling, and decision support. +Integration with geographic information systems (GIS) can provide valuable spatial data for mapping and visualizing disaster scenarios. +The platform can support mobile applications, allowing users to access critical information and services on the go, making it more convenient and accessible. +Future enhancements may include the integration of drones, robotics, and remote sensing technologies for efficient data collection, surveillance, and rescue operations. \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..9e04574f --- /dev/null +++ b/build.gradle @@ -0,0 +1,26 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:4.2.1' + classpath 'com.google.gms:google-services:4.3.4' + classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.2" + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000..52f5917c --- /dev/null +++ b/gradle.properties @@ -0,0 +1,19 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true \ No newline at end of file diff --git a/gradlew b/gradlew new file mode 100644 index 00000000..cccdd3d5 --- /dev/null +++ b/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..f9553162 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..fe3d2cf6 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,2 @@ +include ':app' +rootProject.name = "NearMeDemo" \ No newline at end of file From bf1f36a01206b072fa2287fde40ac7d057949b41 Mon Sep 17 00:00:00 2001 From: vinay <146422870+vinu0404@users.noreply.github.com> Date: Sun, 29 Oct 2023 20:19:13 +0530 Subject: [PATCH 2/3] Update README.md --- README.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6c094848..b5e78ad5 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,55 @@ disaster. Messaging system: Firebase Cloud Messaging (FCM), Nearby messages API Database: GOOGLE CLOUD RDS (MYSQL) + + # Step-by-Step Code Execution Instructions: + + + ---->Clone the repository: + +Open the command prompt or terminal on your computer. +Navigate to the directory where you want to clone the repository. +Run the following command: git clone . +Replace with the URL of the repository where the prototype is stored. If you don't have the repository URL, please contact the app's developer or project manager. + +------>Install dependencies: + +Ensure you have the necessary software installed on your computer, such as Node.js and npm (Node Package Manager). +Navigate to the cloned project directory using the command prompt or terminal. +Run the following command: npm install. +This command will install all the required dependencies specified in the project's package.json file. + +----->Set up the Google Maps API: + +Obtain a Google Maps API key. You can follow the instructions provided by Google to create an API key specific to your project. +Once you have the API key, open the project's source code in a text editor. +Locate the file or configuration where the API key is required. +Replace the placeholder API key with your own API key. + +----->Configure the app: + +Open the project's source code in a text editor. +Look for any configuration files or variables that need to be set according to your environment. +Update the necessary variables such as database connection details, server endpoints, or any other relevant configurations. +Save the changes. + +----->Build and run the app: + +In the command prompt or terminal, navigate to the project directory. +Run the command: npm run build. +This command will compile the project's source code and generate the necessary build files. +Once the build is successful, run the command: npm start. +This command will start the application. +You should see output in the terminal indicating that the app is running. + +----->Test and analyze the app: + +Open a web browser and enter the URL of the app's local development server. Typically, it will be http://localhost:. +Replace with the appropriate port number specified in the app's configuration or documentation. +You should now be able to access the app and test its functionality. +To analyze the app, use the provided features, such as taking a photo of a disaster and uploading it for verification. +Make sure to thoroughly test different scenarios and analyze the app's behavior and performance. + # Scalability: The project aims to connect all rescue agencies nationwide, which means it needs to be scalable to accommodate a large number of agencies and users. The system should be designed to handle an increasing volume of data, communication, and resource sharing as the network expands. @@ -33,4 +82,4 @@ The platform should be able to scale both horizontally (adding more agencies and It can incorporate cutting-edge technologies like Internet of Things (IoT), artificial intelligence (AI), and machine learning (ML) for real-time data analysis, predictive modeling, and decision support. Integration with geographic information systems (GIS) can provide valuable spatial data for mapping and visualizing disaster scenarios. The platform can support mobile applications, allowing users to access critical information and services on the go, making it more convenient and accessible. -Future enhancements may include the integration of drones, robotics, and remote sensing technologies for efficient data collection, surveillance, and rescue operations. \ No newline at end of file +Future enhancements may include the integration of drones, robotics, and remote sensing technologies for efficient data collection, surveillance, and rescue operations. From 9f8ce23bff5da7eab566fe3a65ae1ba9c1547820 Mon Sep 17 00:00:00 2001 From: vinay <146422870+vinu0404@users.noreply.github.com> Date: Sun, 29 Oct 2023 20:23:27 +0530 Subject: [PATCH 3/3] settings.gradle --- settings.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle b/settings.gradle index fe3d2cf6..c8d99a24 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,2 @@ include ':app' -rootProject.name = "NearMeDemo" \ No newline at end of file +rootProject.name = "Disaster Managment "