{
+
+ private final AppDatabase mDb;
+ private final user_table userr;
+
+ PopulateDbAsync(AppDatabase db, user_table userTable) {
+ mDb = db;
+ userr = userTable;
+ }
+
+ @Override
+ protected Void doInBackground(final Void... params) {
+ populateWithTestData(mDb,userr);
+ return null;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Database/user_table.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Database/user_table.java
new file mode 100644
index 00000000..b91e1471
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Database/user_table.java
@@ -0,0 +1,108 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Database;
+
+import androidx.room.ColumnInfo;
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+
+@Entity(tableName = "user_table")
+public class user_table {
+
+ @PrimaryKey(autoGenerate = true)
+ private int uid;
+
+ @ColumnInfo(name = "user_id")
+ private int user_id;
+
+ @ColumnInfo(name = "phoneNo")
+ private String phoneNo;
+
+ @ColumnInfo(name = "volunteer_id")
+ private int volunteer_id = 0;
+
+ @ColumnInfo(name = "victim_id")
+ private int victim_id = 0;
+
+ @ColumnInfo(name = "org_id")
+ private int org_id = 0;
+
+ @ColumnInfo(name = "latitude")
+ private String latitude = "";
+
+ @ColumnInfo(name = "longitude")
+ private String longitude = "";
+
+ @ColumnInfo(name = "areaID")
+ private String areaID;
+
+ public int getUid() {
+ return uid;
+ }
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public int getUser_id() {
+ return user_id;
+ }
+
+ public void setUser_id(int user_id) {
+ this.user_id = user_id;
+ }
+
+ public String getPhoneNo() {
+ return phoneNo;
+ }
+
+ public void setPhoneNo(String phoneNo) {
+ this.phoneNo = phoneNo;
+ }
+
+ public int getVolunteer_id() {
+ return volunteer_id;
+ }
+
+ public void setVolunteer_id(int volunteer_id) {
+ this.volunteer_id = volunteer_id;
+ }
+
+ public int getVictim_id() {
+ return victim_id;
+ }
+
+ public void setVictim_id(int victim_id) {
+ this.victim_id = victim_id;
+ }
+
+ public int getOrg_id() {
+ return org_id;
+ }
+
+ public void setOrg_id(int org_id) {
+ this.org_id = org_id;
+ }
+
+ public String getLatitude() {
+ return latitude;
+ }
+
+ public void setLatitude(String latitude) {
+ this.latitude = latitude;
+ }
+
+ public String getLongitude() {
+ return longitude;
+ }
+
+ public void setLongitude(String longitude) {
+ this.longitude = longitude;
+ }
+
+ public String getAreaID() {
+ return areaID;
+ }
+
+ public void setAreaID(String areaID) {
+ this.areaID = areaID;
+ }
+}
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/FundsModel.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/FundsModel.java
new file mode 100644
index 00000000..9575b4c9
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/FundsModel.java
@@ -0,0 +1,50 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Models;
+
+public class FundsModel {
+
+ private int OFMapID;
+ private String Name;
+ private String Description;
+ private String Sponsor;
+ private String Link;
+
+ public int getOFMapID() {
+ return OFMapID;
+ }
+
+ public void setOFMapID(int OFMapID) {
+ this.OFMapID = OFMapID;
+ }
+
+ public String getName() {
+ return Name;
+ }
+
+ public void setName(String name) {
+ Name = name;
+ }
+
+ public String getDescription() {
+ return Description;
+ }
+
+ public void setDescription(String description) {
+ Description = description;
+ }
+
+ public String getSponsor() {
+ return Sponsor;
+ }
+
+ public void setSponsor(String sponsor) {
+ Sponsor = sponsor;
+ }
+
+ public String getLink() {
+ return Link;
+ }
+
+ public void setLink(String link) {
+ Link = link;
+ }
+}
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/GroupDetailsModel.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/GroupDetailsModel.java
new file mode 100644
index 00000000..cda3be9a
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/GroupDetailsModel.java
@@ -0,0 +1,131 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Models;
+
+public class GroupDetailsModel {
+
+ private int GroupsID;
+ private int VolunteerID;
+ private int AreaID;
+ private String Name;
+ private String Description;
+ private String Members;
+ private String link;
+ private String createdOn;
+ private String updatedOn;
+ private int isCompleted;
+ private int isActive;
+ private String distance;
+ private String latitude;
+ private String longitude;
+
+ public int getGroupsID() {
+ return GroupsID;
+ }
+
+ public int getVolunteerID() {
+ return VolunteerID;
+ }
+
+ public int getAreaID() {
+ return AreaID;
+ }
+
+ public String getName() {
+ return Name;
+ }
+
+ public String getDescription() {
+ return Description;
+ }
+
+ public String getMembers() {
+ return Members;
+ }
+
+ public String getLink() {
+ return link;
+ }
+
+ public String getCreatedOn() {
+ return createdOn;
+ }
+
+ public String getUpdatedOn() {
+ return updatedOn;
+ }
+
+ public int getIsActive() {
+ return isActive;
+ }
+
+ public int getIsCompleted() {
+ return isCompleted;
+ }
+
+ public String getDistance() {
+ return distance;
+ }
+
+ public String getLatitude() {
+ return latitude;
+ }
+
+ public String getLongitude() {
+ return longitude;
+ }
+
+ public void setGroupsID(int groupsID) {
+ GroupsID = groupsID;
+ }
+
+ public void setVolunteerID(int volunteerID) {
+ VolunteerID = volunteerID;
+ }
+
+ public void setAreaID(int areaID) {
+ AreaID = areaID;
+ }
+
+ public void setName(String name) {
+ Name = name;
+ }
+
+ public void setDescription(String description) {
+ Description = description;
+ }
+
+ public void setMembers(String members) {
+ Members = members;
+ }
+
+ public void setLink(String link) {
+ this.link = link;
+ }
+
+ public void setCreatedOn(String createdOn) {
+ this.createdOn = createdOn;
+ }
+
+ public void setUpdatedOn(String updatedOn) {
+ this.updatedOn = updatedOn;
+ }
+
+ public void setIsCompleted(int isCompleted) {
+ this.isCompleted = isCompleted;
+ }
+
+ public void setIsActive(int isActive) {
+ this.isActive = isActive;
+ }
+
+ public void setDistance(String distance) {
+ this.distance = distance;
+ }
+
+ public void setLatitude(String latitude) {
+ this.latitude = latitude;
+ }
+
+ public void setLongitude(String longitude) {
+ this.longitude = longitude;
+ }
+}
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/OrganizationListModel.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/OrganizationListModel.java
new file mode 100644
index 00000000..18401aa6
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/OrganizationListModel.java
@@ -0,0 +1,50 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Models;
+
+public class OrganizationListModel {
+
+ private int OrgID;
+ private String Name;
+ private String Description;
+ private String PhoneNo;
+ private String GSTIn;
+
+ public int getOrgID() {
+ return OrgID;
+ }
+
+ public void setOrgID(int orgID) {
+ OrgID = orgID;
+ }
+
+ public String getName() {
+ return Name;
+ }
+
+ public void setName(String name) {
+ Name = name;
+ }
+
+ public String getDescription() {
+ return Description;
+ }
+
+ public void setDescription(String description) {
+ Description = description;
+ }
+
+ public String getPhoneNo() {
+ return PhoneNo;
+ }
+
+ public void setPhoneNo(String phoneNo) {
+ PhoneNo = phoneNo;
+ }
+
+ public String getGSTIn() {
+ return GSTIn;
+ }
+
+ public void setGSTIn(String GSTIn) {
+ this.GSTIn = GSTIn;
+ }
+}
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/VRMapModel.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/VRMapModel.java
new file mode 100644
index 00000000..3376b07d
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/VRMapModel.java
@@ -0,0 +1,32 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Models;
+
+public class VRMapModel {
+
+ private String post;
+ private int VRMapID;
+ private String Description;
+
+ public String getPost() {
+ return post;
+ }
+
+ public void setPost(String post) {
+ this.post = post;
+ }
+
+ public int getVRMapID() {
+ return VRMapID;
+ }
+
+ public void setVRMapID(int VRMapID) {
+ this.VRMapID = VRMapID;
+ }
+
+ public String getDescription() {
+ return Description;
+ }
+
+ public void setDescription(String description) {
+ Description = description;
+ }
+}
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/VictimsHelpModel.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/VictimsHelpModel.java
new file mode 100644
index 00000000..ee6a933f
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/VictimsHelpModel.java
@@ -0,0 +1,131 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Models;
+
+public class VictimsHelpModel {
+
+ private int VHMapID;
+ private int VictimID;
+ private int HelpID;
+ private int AreaID;
+ private String Description;
+ private String Members;
+ private String Male;
+ private String Female;
+ private String Children;
+ private String Latitude;
+ private String Longitude;
+ private String PhoneNo;
+ private String createdOn;
+ private String updatedOn;
+
+ public int getVHMapID() {
+ return VHMapID;
+ }
+ public int getVictimID() {
+ return VictimID;
+ }
+
+ public int getHelpID() {
+ return HelpID;
+ }
+
+ public int getAreaID() {
+ return AreaID;
+ }
+
+ public String getDescription() {
+ return Description;
+ }
+
+ public String getMembers() {
+ return Members;
+ }
+
+ public String getMale() {
+ return Male;
+ }
+
+ public String getFemale() {
+ return Female;
+ }
+
+ public String getChildren() {
+ return Children;
+ }
+
+ public String getLatitude() {
+ return Latitude;
+ }
+
+ public String getLongitude() {
+ return Longitude;
+ }
+
+ public String getPhoneNo() {
+ return PhoneNo;
+ }
+
+ public void setVHMapID(int VHMapID) {
+ this.VHMapID = VHMapID;
+ }
+
+ public void setVictimID(int victimID) {
+ VictimID = victimID;
+ }
+
+ public void setHelpID(int helpID) {
+ HelpID = helpID;
+ }
+
+ public void setAreaID(int areaID) {
+ AreaID = areaID;
+ }
+
+ public void setDescription(String description) {
+ Description = description;
+ }
+
+ public void setMembers(String members) {
+ Members = members;
+ }
+
+
+ public void setMale(String male) {
+ Male = male;
+ }
+
+ public void setFemale(String female) {
+ Female = female;
+ }
+
+ public void setChildren(String children) {
+ Children = children;
+ }
+
+ public void setLatitude(String latitude) {
+ Latitude = latitude;
+ }
+
+ public void setLongitude(String longitude) {
+ Longitude = longitude;
+ }
+
+ public void setPhoneNo(String phoneNo) {
+ PhoneNo = phoneNo;
+ }
+
+ public String getCreatedOn() {
+ return createdOn;
+ }
+
+ public void setCreatedOn(String createdOn) {
+ this.createdOn = createdOn;
+ }
+
+ public String getUpdatedOn() {
+ return updatedOn;
+ }
+
+ public void setUpdatedOn(String updatedOn) {
+ this.updatedOn = updatedOn;
+ }
+}
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/VolunteerHelpModel.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/VolunteerHelpModel.java
new file mode 100644
index 00000000..43a07356
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Models/VolunteerHelpModel.java
@@ -0,0 +1,95 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Models;
+
+public class VolunteerHelpModel {
+
+ private int VRMapID;
+ private int VolunteerID;
+ private int HelpID;
+ private int AreaID;
+ private String Description;
+ private String Latitude;
+ private String Longitude;
+ private String PhoneNo;
+ private String createdOn;
+ private String updatedOn;
+
+ public int getVRMapID() {
+ return VRMapID;
+ }
+
+ public void setVRMapID(int VRMapID) {
+ this.VRMapID = VRMapID;
+ }
+
+ public int getVolunteerID() {
+ return VolunteerID;
+ }
+
+ public void setVolunteerID(int volunteerID) {
+ VolunteerID = volunteerID;
+ }
+
+ public int getHelpID() {
+ return HelpID;
+ }
+
+ public void setHelpID(int helpID) {
+ HelpID = helpID;
+ }
+
+ public int getAreaID() {
+ return AreaID;
+ }
+
+ public void setAreaID(int areaID) {
+ AreaID = areaID;
+ }
+
+ public String getDescription() {
+ return Description;
+ }
+
+ public void setDescription(String description) {
+ Description = description;
+ }
+
+ public String getLatitude() {
+ return Latitude;
+ }
+
+ public void setLatitude(String latitude) {
+ Latitude = latitude;
+ }
+
+ public String getLongitude() {
+ return Longitude;
+ }
+
+ public void setLongitude(String longitude) {
+ Longitude = longitude;
+ }
+
+ public String getPhoneNo() {
+ return PhoneNo;
+ }
+
+ public void setPhoneNo(String phoneNo) {
+ PhoneNo = phoneNo;
+ }
+
+ public String getCreatedOn() {
+ return createdOn;
+ }
+
+ public void setCreatedOn(String createdOn) {
+ this.createdOn = createdOn;
+ }
+
+ public String getUpdatedOn() {
+ return updatedOn;
+ }
+
+ public void setUpdatedOn(String updatedOn) {
+ this.updatedOn = updatedOn;
+ }
+}
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Utils/Constants.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Utils/Constants.java
new file mode 100644
index 00000000..b5c58b41
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Utils/Constants.java
@@ -0,0 +1,58 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Utils;
+
+public class Constants {
+
+ public static final String SHAREDPREF = "SharedPreference";
+
+ private static final String ENDPOINT = "http://172.18.13.187:3004/api/";
+
+ public static final String AUTH = ENDPOINT + "volunteerauth";
+
+ public static final String AUTH_DATA = ENDPOINT + "volunteerinsert";
+
+ public static final String STATES = ENDPOINT + "getstates";
+
+ public static final String CITY = ENDPOINT + "getcities";
+
+ public static final String AREA = ENDPOINT + "getareas";
+
+ public static final String GET_GROUP_DETAILS = ENDPOINT + "getgroupdetails";
+
+ public static final String CREATE_GROUP = ENDPOINT + "creategroup";
+
+ public static final String GET_HELP_TYPES = ENDPOINT + "gethelpertypes";
+
+ public static final String SHARE_RESOURCES = ENDPOINT + "helpsomeone";
+
+ public static final String GET_VICTIM_DETAILS = ENDPOINT + "getvictimdetails";
+
+ public static final String GET_VOLUNTEER_DETAILS = ENDPOINT + "getvolunteerdetails";
+
+ public static final String REQUEST_HELP = ENDPOINT + "posthelpvictim";
+
+ public static final String GET_PROFILE_DETAILS = ENDPOINT + "getprofiledetails";
+
+ public static final String UPDATE_PROFILE_DETAILS = ENDPOINT + "updateprofile";
+
+ public static final String UPDATE_VHMAP_ISCOMPLETE = ENDPOINT + "iscompletevictim";
+
+ public static final String UPDATE_VRMAP_ISCOMPLETE = ENDPOINT + "iscompletevolunteer";
+
+// public static final String GET_VHMAP = ENDPOINT + "getvictimshelpmap"; //VictimID
+
+ public static final String GET_VRMAP = ENDPOINT + "getvolunteerhelpmap"; //VolunteerID
+
+ public static final String ORGANIZATION_AUTH = ENDPOINT + "ngoauth";
+
+ public static final String ORGANIZATION_AUTH_DATA = ENDPOINT + "ngoinsert";
+
+ public static final String ORGANIZATION_FUND_CAMPAIGN = ENDPOINT + "ngofundinsert";
+
+ public static final String ORGANIZATION_FUNDS_LIST = ENDPOINT + "getngofunddetails";
+
+ public static final String ORGANIZATION_LIST = ENDPOINT + "getngodetails";
+
+ public static final String TEXT_SMS = "http://api.msg91.com/api/sendhttp.php?country=91&sender=TESTIN&route=4&mobiles=";
+
+ public static final String AUTH_KEY = "&authkey=235086AuBUHp6g5b8a8abc&message=";
+}
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Utils/Permissions.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Utils/Permissions.java
new file mode 100644
index 00000000..6ec14e37
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Utils/Permissions.java
@@ -0,0 +1,83 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Utils;
+
+import android.Manifest;
+import android.annotation.TargetApi;
+import android.app.Activity;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.pm.PackageManager;
+import android.os.Build;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+
+public class Permissions {
+
+ private static final int MY_PERMISSIONS_REQUEST_COARSE = 123;
+ private static final int MY_PERMISSIONS_REQUEST_FINE = 1234;
+
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
+ public static boolean checkCoarseLocation(final Context context) {
+ int currentAPIVersion = Build.VERSION.SDK_INT;
+ if (currentAPIVersion >= android.os.Build.VERSION_CODES.M) {
+ if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+ if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, Manifest.permission.ACCESS_COARSE_LOCATION)) {
+ AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
+ alertBuilder.setCancelable(true);
+ alertBuilder.setTitle("Permission necessary");
+ alertBuilder.setMessage("Location permission is necessary");
+ alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
+ public void onClick(DialogInterface dialog, int which) {
+ ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, MY_PERMISSIONS_REQUEST_COARSE);
+ }
+ });
+ AlertDialog alert = alertBuilder.create();
+ alert.show();
+
+
+ } else {
+ ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, MY_PERMISSIONS_REQUEST_COARSE);
+ }
+ return false;
+ } else {
+ return true;
+ }
+ } else {
+ return true;
+ }
+ }
+
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
+ public static boolean checkFineLocation(final Context context) {
+ int currentAPIVersion = Build.VERSION.SDK_INT;
+ if (currentAPIVersion >= android.os.Build.VERSION_CODES.M) {
+ if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+ if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, Manifest.permission.ACCESS_FINE_LOCATION)) {
+ AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
+ alertBuilder.setCancelable(true);
+ alertBuilder.setTitle("Permission necessary");
+ alertBuilder.setMessage("Location permission is necessary");
+ alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
+ public void onClick(DialogInterface dialog, int which) {
+ ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSIONS_REQUEST_FINE);
+ }
+ });
+ AlertDialog alert = alertBuilder.create();
+ alert.show();
+
+
+ } else {
+ ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSIONS_REQUEST_FINE);
+ }
+ return false;
+ } else {
+ return true;
+ }
+ } else {
+ return true;
+ }
+ }
+}
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Utils/Utilities.java b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Utils/Utilities.java
new file mode 100644
index 00000000..7b44d787
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/Utils/Utilities.java
@@ -0,0 +1,46 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon.Utils;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
+
+public class Utilities {
+
+ public static String UTCToIST(String dateUTC) {
+ try {
+ DateFormat utcFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US);
+ utcFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+ DateFormat indianFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US);
+ utcFormat.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata"));
+ Date timestamp;
+ SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss", Locale.US);
+ sdf.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata"));
+ timestamp = utcFormat.parse(dateUTC);
+ assert timestamp != null;
+ Date ist = sdf.parse(indianFormat.format(timestamp));
+ Calendar cal = Calendar.getInstance();
+ assert ist != null;
+ cal.setTime(ist);
+ int year = cal.get(Calendar.YEAR);
+ int month = cal.get(Calendar.MONTH);
+ int date = cal.get(Calendar.DATE);
+ String mo = getMonthForInt(month);
+ return mo + " " + date + " " + ", " + year;
+ } catch (ParseException e) {
+ e.printStackTrace();
+ } catch (AssertionError ignored) {
+ }
+ return "";
+ }
+
+ private static String getMonthForInt(int num) {
+ String[] months = {"Jan","Feb","Mar","Apr","May","Jun","July","Aug","Sept","Oct","Nov","Dec"};
+ return months[num];
+ }
+}
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 00000000..1f6bb290
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/help.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/help.png
new file mode 100644
index 00000000..a64fd0bd
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/help.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/helping.jpg b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/helping.jpg
new file mode 100644
index 00000000..e72d068e
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/helping.jpg differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/helpsomeone.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/helpsomeone.png
new file mode 100644
index 00000000..a20973db
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/helpsomeone.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_contribution.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_contribution.xml
new file mode 100644
index 00000000..690566b3
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_contribution.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_language.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_language.xml
new file mode 100644
index 00000000..ad916eab
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_language.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_launcher_background.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 00000000..0d025f9b
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_live_tracking.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_live_tracking.xml
new file mode 100644
index 00000000..46e6de22
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_live_tracking.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_posts.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_posts.xml
new file mode 100644
index 00000000..f006156f
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_posts.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_raise_funds.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_raise_funds.xml
new file mode 100644
index 00000000..78c8f77a
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_raise_funds.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_settings.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_settings.xml
new file mode 100644
index 00000000..6b4a2d57
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_settings.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_twitter.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_twitter.xml
new file mode 100644
index 00000000..6e4e009d
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/ic_twitter.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/icon_donate.jpg b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/icon_donate.jpg
new file mode 100644
index 00000000..ba4408f6
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/icon_donate.jpg differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/icon_groups.jpg b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/icon_groups.jpg
new file mode 100644
index 00000000..d5268211
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/icon_groups.jpg differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/icon_organization.jpg b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/icon_organization.jpg
new file mode 100644
index 00000000..6d210601
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/icon_organization.jpg differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/linearlayout_border.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/linearlayout_border.xml
new file mode 100644
index 00000000..94d63fda
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/linearlayout_border.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/my_posts.jpg b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/my_posts.jpg
new file mode 100644
index 00000000..e92de626
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/my_posts.jpg differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/sharing_resources.jpg b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/sharing_resources.jpg
new file mode 100644
index 00000000..8161abec
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/sharing_resources.jpg differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/spinner_border.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/spinner_border.xml
new file mode 100644
index 00000000..6a896357
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/spinner_border.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/team.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/team.png
new file mode 100644
index 00000000..74fa3114
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/team.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/textview_border.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/textview_border.xml
new file mode 100644
index 00000000..2aef6c09
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/textview_border.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/victim.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/victim.png
new file mode 100644
index 00000000..b2b35beb
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/drawable/victim.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/armata.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/armata.xml
new file mode 100644
index 00000000..86805839
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/armata.xml
@@ -0,0 +1,6 @@
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/open_sans.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/open_sans.xml
new file mode 100644
index 00000000..f646f76f
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/open_sans.xml
@@ -0,0 +1,6 @@
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/open_sans_bold.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/open_sans_bold.xml
new file mode 100644
index 00000000..4584f040
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/open_sans_bold.xml
@@ -0,0 +1,6 @@
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/opensans_regular.ttf b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/opensans_regular.ttf
new file mode 100644
index 00000000..2e31d024
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/opensans_regular.ttf differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/opensans_semibold.ttf b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/opensans_semibold.ttf
new file mode 100644
index 00000000..99db86aa
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/opensans_semibold.ttf differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/roboto_medium.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/roboto_medium.xml
new file mode 100644
index 00000000..e3d2f8e9
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/font/roboto_medium.xml
@@ -0,0 +1,6 @@
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_authentication.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_authentication.xml
new file mode 100644
index 00000000..77522b2a
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_authentication.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_authentication_details.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_authentication_details.xml
new file mode 100644
index 00000000..24dbb0fc
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_authentication_details.xml
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_contribute.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_contribute.xml
new file mode 100644
index 00000000..17a962d1
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_contribute.xml
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_create_group.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_create_group.xml
new file mode 100644
index 00000000..ea13ae40
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_create_group.xml
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_groups.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_groups.xml
new file mode 100644
index 00000000..b5acd885
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_groups.xml
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_home_screen.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_home_screen.xml
new file mode 100644
index 00000000..b3c2756c
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_home_screen.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_main.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 00000000..1e9da33c
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organization_auth.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organization_auth.xml
new file mode 100644
index 00000000..055c53f5
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organization_auth.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organization_auth_details.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organization_auth_details.xml
new file mode 100644
index 00000000..07c1a61d
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organization_auth_details.xml
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organization_dashboard.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organization_dashboard.xml
new file mode 100644
index 00000000..b6780d56
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organization_dashboard.xml
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organizations_list.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organizations_list.xml
new file mode 100644
index 00000000..ff8a13cf
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_organizations_list.xml
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_raise_funds.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_raise_funds.xml
new file mode 100644
index 00000000..2be8f704
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_raise_funds.xml
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_share_resources.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_share_resources.xml
new file mode 100644
index 00000000..3d35c3a6
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_share_resources.xml
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_success_screen.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_success_screen.xml
new file mode 100644
index 00000000..12632df4
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_success_screen.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_twitter_view.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_twitter_view.xml
new file mode 100644
index 00000000..829fa975
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_twitter_view.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_update_profile.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_update_profile.xml
new file mode 100644
index 00000000..36ec6d7c
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_update_profile.xml
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_victim_dashboard.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_victim_dashboard.xml
new file mode 100644
index 00000000..e314b67c
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_victim_dashboard.xml
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_victim_help_map.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_victim_help_map.xml
new file mode 100644
index 00000000..938e8134
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_victim_help_map.xml
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_victim_help_resource.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_victim_help_resource.xml
new file mode 100644
index 00000000..c3b2873b
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_victim_help_resource.xml
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_volunteer_dashboard.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_volunteer_dashboard.xml
new file mode 100644
index 00000000..2ed523d5
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_volunteer_dashboard.xml
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_volunteer_posts.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_volunteer_posts.xml
new file mode 100644
index 00000000..8f14edb3
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/activity_volunteer_posts.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_funds.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_funds.xml
new file mode 100644
index 00000000..1a073b41
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_funds.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_group_details.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_group_details.xml
new file mode 100644
index 00000000..87f6ac01
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_group_details.xml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_my_posts.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_my_posts.xml
new file mode 100644
index 00000000..19ab2f08
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_my_posts.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_organization_list.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_organization_list.xml
new file mode 100644
index 00000000..625d495b
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/layout/custom_organization_list.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 00000000..eca70cfe
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 00000000..eca70cfe
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-hdpi/ic_launcher.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 00000000..898f3ed5
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 00000000..dffca360
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-mdpi/ic_launcher.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 00000000..64ba76f7
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 00000000..dae5e082
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 00000000..e5ed4659
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 00000000..14ed0af3
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 00000000..b0907cac
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 00000000..d8ae0315
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 00000000..2c18de9e
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 00000000..beed3cdd
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/values-hi/strings.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values-hi/strings.xml
new file mode 100644
index 00000000..947644a4
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values-hi/strings.xml
@@ -0,0 +1,83 @@
+
+ Peedit
+ Swayamsevak
+ Sangathan
+ Phone Number
+ Pramaaneekaran Kare
+ Kuch Galat Hua
+ Sandesh Bhej Diya Gaya Hai
+ Samooh Banaya ja chuka hai!
+ Sansaadhan Share Kardiya Gaya hai
+ Safalta
+ Kripya pata chune
+ Naam
+ Idar Click Kare Apna pata ke liye
+ Samooh
+ Samooh khoj kare
+ Samooh banaye
+ Dhyaan den - WhatsApp ya Telegram Samooh ka link daale
+ Samooh ka prerana
+ Samooh ka naam
+ kitne log ko anumati hai
+ Samooh ka Link
+ Samooh banaye
+ Sansaadhan Share kare
+ Sansaadhan ka vivran dijiye
+ Share
+ Samooh mein shaamil hoye
+ GPS anivariye hai
+ Aachhi service ke liye GPS anivariye hai. Kriya permission accept kare
+ Theek hai
+ Danyawad!\nAapaka vivaran safalta poorvak darj kar diya gaya hai.
+ Peedit / Swayamsevak
+ Me hu
+ Aapada Prabandhan
+ Mujhe madad chaiye
+ Madad ke liye nivedan kare
+ Kitne log?
+ Kitne purush hai? (Optional)
+ Kitni mahilaye hai? (Optional)
+ Kitne bache hai? (Optional)
+ Madad ke prakaar
+ Nivedan
+ Apne Nivedan ka vivran dijiye
+ Saamaajik
+ Apne vivran ko update kare
+ Pramaaneekaran ka vivran
+ Pramaaneekaran
+ Kya aapko madat karni hai?
+ Ek baar accept karne pe piche nai ja sakte.
+ Kya aapko madat chaiye? Aapka phone number uss insaan se share kiya jayega.
+ Ek baar accept karne pe piche nai ja sakte.
+ Kya aap sahi me band karna chahate hai? Aapka phone number uss insaan se share kiya jayega.
+ Kya aap chahate ho hum ye entry hata de?
+ Manjur hai
+ Radh kare
+ Swagat hai
+ Poora kar liya hai?
+ GST No.
+ Prerana
+ Dashboard
+ Nearby Peedit
+ Pratispardha aayojit kare
+ Dhan jutaaye
+ Dhyaan den - Daan ka pata bhariye
+ Dhan jutane ka prerana
+ Abhiyaan ka naam
+ Dhaan Jutane ka abhiyaan
+ Abhiyaan shuru kariye
+ Praayojak karne wale ka naam (Optional)
+ Kisi ki madat kare
+ Mere Abhiyaan
+ Apna sahayog de
+ Dhaan jutane ke abhiyaan dunde
+ Sangathan ke saath kaam kare
+ Sangathan dunde
+ Sampark karen
+ Sahar
+ City
+ Kshetr
+ Bhaasha Badaliye
+ Kya aapko bhaasha badal ke Angrezi karni hai?
+ Haan
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/array.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/array.xml
new file mode 100644
index 00000000..159aa62c
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/array.xml
@@ -0,0 +1,9 @@
+
+
+
+ - @string/none_enhance
+ - @string/auto
+ - @string/enhance
+ - @string/enhance_sharp
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/colors.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/colors.xml
new file mode 100644
index 00000000..c00a6efd
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/colors.xml
@@ -0,0 +1,19 @@
+
+
+
+ #15557c
+ #0d4669
+ #f4724d
+
+ #FFFFFF
+ #000000
+
+ #7c4dff
+ #ffb300
+ #ef354e
+ #62c667
+ #CFCFCF
+ #828282
+ #80D3D3D3
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/dimens.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/dimens.xml
new file mode 100644
index 00000000..36f33507
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/dimens.xml
@@ -0,0 +1,125 @@
+
+
+ 16dp
+ 16dp
+ 40dp
+ 0dp
+ 5dp
+ 10dp
+ 15dp
+ 20dp
+ 30dp
+ 40dp
+ 50dp
+ 100dp
+ 55dp
+ 40dp
+ 1dp
+ 1dp
+ 2dp
+ 10dp
+ 10dp
+ 5dp
+ 20dp
+ 20dp
+ 20dp
+ 20dp
+ 20dp
+ 15dp
+ 25dp
+ 25dp
+ 50dp
+ 10dp
+ 20dp
+ 10dp
+ 0dp
+ 30dp
+ 20dp
+ 50dp
+ 50dp
+ 30dp
+ 30dp
+ 30dp
+ 20dp
+ 20dp
+ 24sp
+ 16sp
+ 100sp
+ 100sp
+ 10dp
+ 18sp
+ 2dp
+ 16sp
+ 200dp
+ 100dp
+ 10dp
+ 3dp
+ 5dp
+ 12dp
+ 16sp
+ 20sp
+ 300dp
+ 60dp
+ 12dp
+ 120dp
+ 275dp
+ 250dp
+ 10sp
+ 14sp
+ 11sp
+ 12sp
+ 22sp
+ 24sp
+ 26sp
+ 70sp
+ 1dp
+ 2dp
+ 45dp
+ 45dp
+ 15sp
+ 13sp
+ 18sp
+ 25sp
+ 10dp
+ 20dp
+ 2dp
+ 20dp
+ 8dp
+ 30dp
+ 90dp
+ 70dp
+ 18dp
+ 40dp
+ 30dip
+ 40dp
+ 100dp
+ 100dp
+ 100dp
+ 1dp
+ 40dp
+ 60dp
+ 15dp
+ 22dp
+ 16dp
+ 30dp
+ 25dp
+ 23dp
+ 12dp
+ 50dp
+ 5dp
+ 15dp
+ 20dp
+ 0dp
+ 30dp
+ 50dp
+ 8dp
+
+ 70dp
+ 80dp
+ 35dp
+ 90dp
+
+ 4dp
+ 8dp
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/font_certs.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/font_certs.xml
new file mode 100644
index 00000000..0c7d340f
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/font_certs.xml
@@ -0,0 +1,17 @@
+
+
+
+ - @array/com_google_android_gms_fonts_certs_dev
+ - @array/com_google_android_gms_fonts_certs_prod
+
+
+ -
+ MIIEqDCCA5CgAwIBAgIJANWFuGx90071MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAeFw0wODA0MTUyMzM2NTZaFw0zNTA5MDEyMzM2NTZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBANbOLggKv+IxTdGNs8/TGFy0PTP6DHThvbbR24kT9ixcOd9W+EaBPWW+wPPKQmsHxajtWjmQwWfna8mZuSeJS48LIgAZlKkpFeVyxW0qMBujb8X8ETrWy550NaFtI6t9+u7hZeTfHwqNvacKhp1RbE6dBRGWynwMVX8XW8N1+UjFaq6GCJukT4qmpN2afb8sCjUigq0GuMwYXrFVee74bQgLHWGJwPmvmLHC69EH6kWr22ijx4OKXlSIx2xT1AsSHee70w5iDBiK4aph27yH3TxkXy9V89TDdexAcKk/cVHYNnDBapcavl7y0RiQ4biu8ymM8Ga/nmzhRKya6G0cGw8CAQOjgfwwgfkwHQYDVR0OBBYEFI0cxb6VTEM8YYY6FbBMvAPyT+CyMIHJBgNVHSMEgcEwgb6AFI0cxb6VTEM8YYY6FbBMvAPyT+CyoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJANWFuGx90071MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBABnTDPEF+3iSP0wNfdIjIz1AlnrPzgAIHVvXxunW7SBrDhEglQZBbKJEk5kT0mtKoOD1JMrSu1xuTKEBahWRbqHsXclaXjoBADb0kkjVEJu/Lh5hgYZnOjvlba8Ld7HCKePCVePoTJBdI4fvugnL8TsgK05aIskyY0hKI9L8KfqfGTl1lzOv2KoWD0KWwtAWPoGChZxmQ+nBli+gwYMzM1vAkP+aayLe0a1EQimlOalO762r0GXO0ks+UeXde2Z4e+8S/pf7pITEI/tP+MxJTALw9QUWEv9lKTk+jkbqxbsh8nfBUapfKqYn0eidpwq2AzVp3juYl7//fKnaPhJD9gs=
+
+
+
+ -
+ MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/strings.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/strings.xml
new file mode 100644
index 00000000..7973bcf2
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/strings.xml
@@ -0,0 +1,89 @@
+
+ Dwarsoft-Lynk-Hackathon
+ AIzaSyB-sj_pBHx3TNa1wOu_3QfIe3FmcSAUsYg
+ Auto
+ Original
+ Lighten
+ Magic Color
+ Victim
+ Volunteer
+ Organization
+ Phone Number
+ Sign In
+ Server Error
+ Message Sent
+ Group Created Successfully!
+ Resource Shared Successfully!
+ Success
+ Please Select Address
+ Name
+ Click To Set Current Address
+ Groups
+ Search For Groups
+ Create A Group
+ Note - Add WhatsApp/Telegram Group Link
+ Group Motive
+ Group Name
+ Number Of Members Allowed
+ Group Link
+ Create Group
+ Share Resources
+ Describe Your Resource
+ Share
+ Join Group
+ GPS Required
+ GPS is required for better Service. Please enable it.
+ Okay
+ Thank you!\nYour details has been submitted successfully.
+ Victim / Volunteer
+ I\'m a
+ DISASTER MANAGEMENT
+ I Need Help
+ Request Help
+ How Many Members?
+ No. Of Males? (Optional)
+ No. Of Females? (Optional)
+ No. Of Children? (Optional)
+ Help Type
+ Request
+ Describe Your Request?
+ SOCIAL HANDLE
+ Update Details
+ Authentication Details
+ Update
+ Do You Want To Help? Your contact details will be shared with the concerned person.
+ Once you accept, it is not reversible.
+ Do You Want The Help? Your contact details will be shared with the concerned person.
+ Once you accept, it is not reversible.
+ Are you sure you want to close?
+ Do you want us to delete your entry?
+ Accept
+ Cancel
+ Welcome
+ Completed?
+ GST No.
+ Motive
+ Dashboard
+ Nearby Victims
+ Host Events
+ Raise Funds
+ Note - Add Donation Link
+ Fund Campaign Motive
+ Campaign Name
+ Fund Raising Campaign
+ Start Campaign
+ Sponsor\'s Name (Optional)
+ Help Someone
+ My Posts
+ Contribute
+ Search For Fund Campaigns
+ Collaborate With Organizations
+ Search For Organizations
+ Contact
+ State
+ City
+ Area
+ Change Language
+ Do you want to change your language to Hinglish?
+ Yes
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/styles.xml b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/styles.xml
new file mode 100644
index 00000000..d6306697
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/main/res/values/styles.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
diff --git a/Dwarsoft-Lynk-Hack-master/app/src/test/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/ExampleUnitTest.java b/Dwarsoft-Lynk-Hack-master/app/src/test/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/ExampleUnitTest.java
new file mode 100644
index 00000000..48f98aa3
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/app/src/test/java/com/dwarsoftgames/dwarsoft_lynk_hackathon/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package com.dwarsoftgames.dwarsoft_lynk_hackathon;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
diff --git a/Dwarsoft-Lynk-Hack-master/build.gradle b/Dwarsoft-Lynk-Hack-master/build.gradle
new file mode 100644
index 00000000..6d976bed
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/build.gradle
@@ -0,0 +1,27 @@
+// 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:3.5.1'
+ classpath 'com.google.gms:google-services:4.3.2'
+ // NOTE: Do not place your application dependencies here; they belong
+ // in the individual module build.gradle files
+ }
+}
+
+allprojects {
+ repositories {
+ google()
+ jcenter()
+ maven { url 'https://jitpack.io' }
+ }
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
diff --git a/Dwarsoft-Lynk-Hack-master/gradle.properties b/Dwarsoft-Lynk-Hack-master/gradle.properties
new file mode 100644
index 00000000..2937d5f4
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/gradle.properties
@@ -0,0 +1,21 @@
+# 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=-Xmx1536m
+# 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
+android.enableR8=false
+# Automatically convert third-party libraries to use AndroidX
+android.enableJetifier=true
+
diff --git a/Dwarsoft-Lynk-Hack-master/gradle/wrapper/gradle-wrapper.jar b/Dwarsoft-Lynk-Hack-master/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..f6b961fd
Binary files /dev/null and b/Dwarsoft-Lynk-Hack-master/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/Dwarsoft-Lynk-Hack-master/gradle/wrapper/gradle-wrapper.properties b/Dwarsoft-Lynk-Hack-master/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00000000..453c1ebb
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Sat Oct 12 11:48:41 IST 2019
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
diff --git a/Dwarsoft-Lynk-Hack-master/gradlew b/Dwarsoft-Lynk-Hack-master/gradlew
new file mode 100644
index 00000000..cccdd3d5
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/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/Dwarsoft-Lynk-Hack-master/gradlew.bat b/Dwarsoft-Lynk-Hack-master/gradlew.bat
new file mode 100644
index 00000000..f9553162
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/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/Dwarsoft-Lynk-Hack-master/settings.gradle b/Dwarsoft-Lynk-Hack-master/settings.gradle
new file mode 100644
index 00000000..cac2e88a
--- /dev/null
+++ b/Dwarsoft-Lynk-Hack-master/settings.gradle
@@ -0,0 +1,2 @@
+include ':app'
+rootProject.name='Dwarsoft-Lynk-Hackathon'
diff --git a/Dwarsoft-Lynk-Hackathon.apk b/Dwarsoft-Lynk-Hackathon.apk
new file mode 100644
index 00000000..ce8697c2
Binary files /dev/null and b/Dwarsoft-Lynk-Hackathon.apk differ
diff --git a/Lynk-Hack-Backend-master/.gitignore b/Lynk-Hack-Backend-master/.gitignore
new file mode 100644
index 00000000..b409efe1
--- /dev/null
+++ b/Lynk-Hack-Backend-master/.gitignore
@@ -0,0 +1,72 @@
+#################
+## Windows detritus
+#################
+
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+history
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Mac crap
+.DS_Store
+.vscode
+cypress
+
+# bat files
+app.bat
+
+package-lock.json
+data.xml
+
+
+#################
+## Directories
+#################
+
+node_modules/
+/.project
+npm-debug.log*
+.history
+waste
+
+
+#################
+## Windows detritus
+#################
+
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+history
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Mac crap
+.DS_Store
+.vscode
+cypress
+
+# bat files
+app.bat
+
+package-lock.json
+data.xml
+
+
+#################
+## Directories
+#################
+
+node_modules/
+/.project
+npm-debug.log*
+.history
+waste
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/README.md b/Lynk-Hack-Backend-master/README.md
new file mode 100644
index 00000000..7e4d1f2e
--- /dev/null
+++ b/Lynk-Hack-Backend-master/README.md
@@ -0,0 +1,3 @@
+# QuotesAndFacts
+
+API'S for Quotes and Facts App
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/ReadMe b/Lynk-Hack-Backend-master/_core/ReadMe
new file mode 100644
index 00000000..d24f616e
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/ReadMe
@@ -0,0 +1,43 @@
+BIBLIO VALIDATE 2.0 API DOCUMENTATION:
+
+The bilbio validate api supports the following set of services:
+
+1. Search by PMID:
+
+Searches the Pubmed database based on PMID entered and returns the following set of details in JSON format: 1. Input Supplied 2. Input Data Converted to JSON. 3. Fetched Pubmed JSON. 4. Merged JSON 5. Output from Truecaser for title 7. Citeproc JSON 8. Biblio graph string from Citeproc system ( without tagging styled) 9. Citation data. 10. BiblioGraphy string (tagged html) from citeproc system ( with CSS STYLED) 11. DOI ID of the article 12. PUBMED ID of the article.
+
+Parameters to be passed in api call: /search? 1. type = pmid 2. style=*required_style* 3. data=*pmid to be searched for* 4. locale=*required locale* 5. pre=extra pre string to be attched in bibliography data. 6. post=extra post string to be attached in bibliography data. Example api call: /search?style=academy-of-management-review.csl&data=11808601&locale=locales-en-US.xml&pre=hi&post=hi&type=pmid
+
+BIBLIO VALIDATE 2.0 API DOCUMENTATION:
+
+2. Search by DOI:
+
+Searches the Crossref database based on DOI entered and returns the following set of details in JSON format: 1. Input Supplied 2. Input Data Converted to JSON. 3. Fetched Pubmed JSON. 4. Merged JSON 5. Output from Truecaser for title 7. Citeproc JSON 8. Biblio graph string from Citeproc system ( without tagging styled) 9. Citation data. 10. BiblioGraphy string (tagged html) from citeproc system ( with CSS STYLED) 11. DOI ID of the article 12. PUBMED ID of the article.
+
+Parameters to be passed in api call: /search? 1. type = doi 2. style=*required_style* 3. data=*doi to be searched for* 4. locale=*required locale* 5. pre=extra pre string to be attched in bibliography data. 6. post=extra post string to be attached in bibliography data. Example api call: /search?style=academy-of-management-review.csl&data=10.1126/science.169.3946.635&locale=locales-en-US.xml&pre=hi&post=hi&type=doi
+
+3. Search by Tagged Input along with validation.
+
+Searches the pubmed and crossref database based on html tagged input entered and returns the following set of details in JSON format: 1. Input Supplied 2. Input Data Converted to JSON. 3. Output from ParseReference.(without true casing) 4. Fetched Pubmed JSON. 5. Fetched Crossref JSON. 6. Merged JSON 6. Output from Truecaser for title 7. Input JSON to citeproc system 8. Biblio graph string from citeproc system ( without styled) 9. Generated citation data. 10. Biblio Graphy string (tagged html) from citeproc system ( with CSS STYLED) 11. DOI ID of the article 12. PUBMED ID of the article.
+
+Parameters to be passed in api call: /validate? 1. type = html 2. style=*required_style* 3. data=*tagged to be validated * 4. locale=*required locale* 5. pre=extra pre string to be attched in bibliography data. 6. post=extra post string to be attached in bibliography data. 7. refJournalType=*Desired type* (Journal | Book | etc ) 8. flag=true
+
+4. Search by Reference Input
+
+Searches the pubmed and crossref database based on reference text input entered and returns the following set of details in JSON format: 1. Input Supplied 2. Input Data Converted to JSON. 3. Output from ParseReference.(without true casing) 4. Fetched Pubmed JSON. 5. Fetched Crossref JSON. 6. Merged JSON 6. Output from Truecaser for title 7. Input JSON to citeproc system 8. Biblio graph string from citeproc system ( without styled) 9. Generated citation data. 10. Biblio Graphy string (tagged html) from citeproc system ( with CSS STYLED) 11. DOI ID of the article 12. PUBMED ID of the article.
+
+Parameters to be passed in api call: /validate? 1. type = html 2. style=*required_style* 3. data=*tagged to be validated * 4. locale=*required locale* 5. pre=extra pre string to be attched in bibliography data. 6. post=extra post string to be attached in bibliography data. 7. refJournalType=*Desired type* (Journal | Book | etc ) 8. flag=true
+
+5. Extract style set present in the server:
+
+Extracts the possible style set along with its style name from the server:
+
+EXAMPLE API CALL: /extractLocaleList?
+
+6. Search by tagged input without validation. Searches the pubmed and crossref database based on html tagged input entered and returns the following set of details in JSON format: 1. Input Supplied 2. Input Data Converted to JSON. 3. Output from Truecaser for title 4. Input JSON to citeproc system 5. Biblio graph string from citeproc system ( without styled) 6. Generated citation data. 7. Biblio Graphy string (tagged html) from citeproc system ( with CSS STYLED)
+
+Parameters to be passed in api call: /validate? 1. type = html 2. style=*required_style* 3. data=*tagged to be validated * 4. locale=*required locale* 5. pre=extra pre string to be attched in bibliography data. 6. post=extra post string to be attached in bibliography data. 7. refJournalType=*Desired type* (Journal | Book | etc ) 8. flag=false
+
+Example api call:
+
+/validate?type=html&style=dove-medical-press.csl&locale=locales-en-US.xml&pre=&post=&data=4.Stotz%20M,%20Gerger%20A,%20Haybaeck%20J,%20Kiesslich%20T,%20Bullock%20MD,%20Pichler%20M.%20Molecular%20Targeted%20Therapies%20in%20Hepatocellular%20Carcinoma:%20Past,%20Present%20and%20Future.%20Anticancer%20Res.%202015;35(11):5737–5744.
&refJournalType=Journal&flag=false
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/JS/connection.js b/Lynk-Hack-Backend-master/_core/post/JS/connection.js
new file mode 100644
index 00000000..e2b6ca8b
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/JS/connection.js
@@ -0,0 +1,1421 @@
+var mysql = require('mysql');
+
+module.exports = {
+ volunteerauth: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+
+ connection.getConnection(function (err) {
+ var queryValue = "SELECT * FROM LynkHack.Victims as Vi JOIN Volunteer as Vo on Vi.PhoneNo = Vo.PhoneNo";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.phoneNo) {
+ queryValue += " where Vi.PhoneNo = " + data.phoneNo;
+ } else {
+ resolve({ "status": 400, "error": "No phoneNo field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.lowLimit && data.HighLimit) {
+ queryValue += " LIMIT " + data.lowLimit + "," + data.HighLimit;
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result.length && result.length > 0) {
+ resolve({ "status": 200, "data": result, "isNewUser": false, "isSuccess": true });
+ } else {
+ resolve({ "status": 200, "isNewUser": true, "isSuccess": true });
+ }
+
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ volunteerinsert: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "INSERT INTO `LynkHack`.`Volunteer` ( `PhoneNo`, `Name`, `Address`, `Latitude`, `Longitude`, `AreaID`, `createdOn`, `updatedOn`, `ipAddress`, `isActive`) VALUES (";
+ var queryValue2 = "INSERT INTO `LynkHack`.`Victims` ( `PhoneNo`, `Name`, `Address`, `Latitude`, `Longitude`, `AreaID`, `createdOn`, `updatedOn`, `ipAddress`, `isActive`) VALUES (";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+
+ if (data.phoneNo) {
+ queryValue += "'" + data.phoneNo + "',";
+ queryValue2 += "'" + data.phoneNo + "',";
+ } else {
+ resolve({ "status": 400, "error": "No phoneNo field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Name) {
+ queryValue += "'" + data.Name + "',";
+ queryValue2 += "'" + data.Name + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Name field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Address) {
+ queryValue += "'" + data.Address + "',";
+ queryValue2 += "'" + data.Address + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Address field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Latitude) {
+ queryValue += "'" + data.Latitude + "',";
+ queryValue2 += "'" + data.Latitude + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Latitude field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.Longitude) {
+ queryValue += "'" + data.Longitude + "',";
+ queryValue2 += "'" + data.Longitude + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Longitude field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.AreaID) {
+ queryValue += "'" + data.AreaID + "',";
+ queryValue2 += "'" + data.AreaID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No AreaID field found" });
+ connection.end();
+ return;
+
+ }
+ queryValue += "'2019-01-01 00:00:00','2019-01-01 00:00:00','1.1.1.1','1')";
+ queryValue2 += "'2019-01-01 00:00:00','2019-01-01 00:00:00','1.1.1.1','1')";
+ var queryValue3 = "SELECT * FROM LynkHack.Victims as Vi JOIN Volunteer as Vo on Vi.PhoneNo = Vo.PhoneNo";
+ if (data.phoneNo) {
+ queryValue3 += " where Vi.PhoneNo =" + "'" + data.phoneNo + "';";;
+ } else {
+ resolve({ "status": 400, "error": "No phoneNo field found" });
+ connection.end();
+ return;
+
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ connection.query(queryValue2, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ connection.query(queryValue3, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isNewUser": false, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+
+ });
+
+ });
+ });
+
+
+ });
+ },
+ ngoauth: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+
+ connection.getConnection(function (err) {
+ var queryValue = "SELECT * FROM LynkHack.Organizations ";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.phoneNo) {
+ queryValue += "where PhoneNo = " + data.phoneNo;
+ } else {
+ resolve({ "status": 400, "error": "No phoneNo field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.lowLimit && data.HighLimit) {
+ queryValue += " LIMIT " + data.lowLimit + "," + data.HighLimit;
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result.length && result.length > 0) {
+ resolve({ "status": 200, "data": result, "isNewUser": false, "isSuccess": true });
+ } else {
+ resolve({ "status": 200, "isNewUser": true, "isSuccess": true });
+ }
+
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ ngoinsert: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "INSERT INTO `LynkHack`.`Organizations` ( `PhoneNo`, `Name`,`GSTIn`,`Description`, `createdOn`, `updatedOn`, `isActive`) VALUES (";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+
+ if (data.phoneNo) {
+ queryValue += "'" + data.phoneNo + "',";
+ } else {
+ resolve({ "status": 400, "error": "No phoneNo field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Name) {
+ queryValue += "'" + data.Name + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Name field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.GSTIn) {
+ queryValue += "'" + data.GSTIn + "',";
+ } else {
+ resolve({ "status": 400, "error": "No GSTIn field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Description) {
+ queryValue += "'" + data.Description + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Description field found" });
+ connection.end();
+ return;
+
+ }
+
+ queryValue += "'2019-01-01 00:00:00','2019-01-01 00:00:00','1')";
+
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getstates: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+
+ connection.getConnection(function (err) {
+ var queryValue = "select * from States";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getcities: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+
+ connection.getConnection(function (err) {
+ var queryValue = "select * from City";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.StateID) {
+ queryValue += " where StateID = " + data.StateID;
+ } else {
+ resolve({ "status": 400, "error": "No StateID field found" });
+ connection.end();
+ return;
+
+ }
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getareas: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+
+ connection.getConnection(function (err) {
+ var queryValue = "select * from Areas";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.CityID) {
+ queryValue += " where CityID = " + data.CityID;
+ } else {
+ resolve({ "status": 400, "error": "No CityID field found" });
+ connection.end();
+ return;
+
+ }
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getvictimshelpmap: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+
+ connection.getConnection(function (err) {
+ var queryValue = "select * from VictimsHelpMap";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.VictimID) {
+ queryValue += " where isCompleted=0 and VictimID = " + data.VictimID;
+ } else {
+ resolve({ "status": 400, "error": "No CityID field found" });
+ connection.end();
+ return;
+
+ }
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getvolunteerhelpmap: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+
+ connection.getConnection(function (err) {
+ var queryValue = "select * from VolunteerResourceMap";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.VolunteerID) {
+ queryValue += " where isCompleted=0 and VolunteerID = " + data.VolunteerID;
+ } else {
+ resolve({ "status": 400, "error": "No VolunteerID field found" });
+ connection.end();
+ return;
+
+ }
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ creategroup: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "INSERT INTO `LynkHack`.`Groups` (`VolunteerID`, `AreaID`, `Name`, `Description`, `Members`, `link`, `createdOn`, `updatedOn`, `isCompleted`,`latitude`,`longitude`, `isActive`) VALUES (";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+
+ if (data.VolunteerID) {
+ queryValue += "'" + data.VolunteerID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No VolunteerID field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.AreaID) {
+ queryValue += "'" + data.AreaID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No AreaID field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Name) {
+ queryValue += "'" + data.Name + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Name field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Description) {
+ queryValue += "'" + data.Description + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Description field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.Members) {
+ queryValue += "'" + data.Members + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Members field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.link) {
+ queryValue += "'" + data.link + "',";
+ } else {
+ resolve({ "status": 400, "error": "No AreaID field found" });
+ connection.end();
+ return;
+
+ }
+
+ queryValue += "'2019-01-01 00:00:00','2019-01-01 00:00:00'";
+ if (data.latitude) {
+ queryValue += ",'" + data.latitude + "',";
+ } else {
+ resolve({ "status": 400, "error": "No latitude field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.longitude) {
+ queryValue += "'" + data.longitude + "',";
+ } else {
+ resolve({ "status": 400, "error": "No longitude field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.isCompleted) {
+ queryValue += "'" + data.isCompleted + "',";
+ } else {
+ resolve({ "status": 400, "error": "No isCompleted field found" });
+ connection.end();
+ return;
+
+ }
+ queryValue += "'1')";
+
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ updatearea: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "UPDATE `LynkHack`.`Volunteer` SET `AreaID` = ";
+
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.AreaID) {
+ queryValue += "'" + data.AreaID + "'";
+ } else {
+ resolve({ "status": 400, "error": "No AreaID field found" });
+ connection.end();
+ return;
+
+ }
+ queryValue += " WHERE `VolunteerID` =";
+
+ if (data.VolunteerID) {
+ queryValue += "'" + data.VolunteerID + "';";
+ } else {
+ resolve({ "status": 400, "error": "No VolunteerID field found" });
+ connection.end();
+ return;
+
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getgroupdetails: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "Select * from Groups where AreaID= ";
+
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.AreaID) {
+ queryValue += " '" + data.AreaID + "'";
+ } else {
+ resolve({ "status": 400, "error": "No AreaID field found" });
+ connection.end();
+ return;
+
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getvictimdetails: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "Select * from VictimsHelpMap where isCompleted=0 and AreaID= ";
+
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.AreaID) {
+ queryValue += " '" + data.AreaID + "'";
+ } else {
+ resolve({ "status": 400, "error": "No AreaID field found" });
+ connection.end();
+ return;
+
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getprofiledetails: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "Select * from Volunteer where VolunteerID= ";
+
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.VolunteerID) {
+ queryValue += " '" + data.VolunteerID + "'";
+ } else {
+ resolve({ "status": 400, "error": "No VolunteerID field found" });
+ connection.end();
+ return;
+
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ gethelpertypes: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "Select * from HelpType ";
+
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ helpsomeone: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "INSERT INTO `LynkHack`.`VolunteerResourceMap` (`VolunteerID`, `AreaID`,`HelpID`, `Description`, `createdOn`, `updatedOn`, `isCompleted`, `isActive`) VALUES (";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+
+
+ if (data.VolunteerID) {
+ queryValue += "'" + data.VolunteerID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No VolunteerID field found" });
+ connection.end();
+ return;
+
+ }
+
+
+ if (data.AreaID) {
+ queryValue += "'" + data.AreaID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No VolunteerID field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.HelpID) {
+ queryValue += "'" + data.HelpID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No HelpID field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Description) {
+ queryValue += "'" + data.Description + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Description field found" });
+ connection.end();
+ return;
+
+ }
+ queryValue += "'2019-01-01 00:00:00','2019-01-01 00:00:00',"
+
+ if (data.isCompleted) {
+ queryValue += "'" + data.isCompleted + "',";
+ } else {
+ resolve({ "status": 400, "error": "No isCompleted field found" });
+ connection.end();
+ return;
+
+ }
+
+ queryValue += "'1')";
+
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isNewUser": false, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ victiminsert: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "INSERT INTO `LynkHack`.`Victims` ( `PhoneNo`, `Name`, `Address`, `Latitude`, `Longitude`, `AreaID`, `createdOn`, `updatedOn`, `ipAddress`, `isActive`) VALUES (";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+
+ if (data.phoneNo) {
+ queryValue += "'" + data.phoneNo + "',";
+ } else {
+ resolve({ "status": 400, "error": "No phoneNo field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Name) {
+ queryValue += "'" + data.Name + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Name field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Address) {
+ queryValue += "'" + data.Address + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Address field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Latitude) {
+ queryValue += "'" + data.Latitude + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Latitude field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.Longitude) {
+ queryValue += "'" + data.Longitude + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Longitude field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.AreaID) {
+ queryValue += "'" + data.AreaID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No AreaID field found" });
+ connection.end();
+ return;
+
+ }
+ queryValue += "'2019-01-01 00:00:00','2019-01-01 00:00:00','1.1.1.1','1')";
+
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isNewUser": false, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+ });
+ },
+ getvolunteerdetails: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "SELECT * FROM LynkHack.VolunteerResourceMap as VRMap JOIN Volunteer as Vol on VRMap.VolunteerID = Vol.VolunteerID where isCompleted=0 and VRMap.AreaID= ";
+
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.AreaID) {
+ queryValue += " '" + data.AreaID + "'";
+ } else {
+ resolve({ "status": 400, "error": "No AreaID field found" });
+ connection.end();
+ return;
+
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ posthelpvictim: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "INSERT INTO `LynkHack`.`VictimsHelpMap` (`VictimID`,`HelpID`, `AreaID`, `Description`, `Members`, `Male`, `Female`, `Children`, `latitude`, `longitude`, `PhoneNo`, `createdOn`, `updatedOn`, `isCompleted`, `isActive`) VALUES (";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (data.VictimID) {
+ queryValue += "'" + data.VictimID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No VictimID field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.HelpID) {
+ queryValue += "'" + data.HelpID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No HelpID field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.AreaID) {
+ queryValue += "'" + data.AreaID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No AreaID field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.Description) {
+ queryValue += "'" + data.Description + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Description field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.Members) {
+ queryValue += "'" + data.Members + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Members field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.Male) {
+ queryValue += "'" + data.Male + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Male field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.Female) {
+ queryValue += "'" + data.Female + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Female field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.Children) {
+ queryValue += "'" + data.Children + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Children field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.latitude) {
+ queryValue += "'" + data.latitude + "',";
+ } else {
+ resolve({ "status": 400, "error": "No latitude field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.longitude) {
+ queryValue += "'" + data.longitude + "',";
+ } else {
+ resolve({ "status": 400, "error": "No longitude field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.PhoneNo) {
+ queryValue += "'" + data.PhoneNo + "',";
+ } else {
+ resolve({ "status": 400, "error": "No PhoneNo field found" });
+ connection.end();
+ return;
+
+ }
+
+ queryValue += "'2019-01-01 00:00:00','2019-01-01 00:00:00',"
+ if (data.isCompleted) {
+ queryValue += "'" + data.isCompleted + "'";
+ } else {
+ resolve({ "status": 400, "error": "No VictimID field found" });
+ connection.end();
+ return;
+
+ }
+ queryValue += ",'1')";
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isNewUser": false, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+ });
+ },
+ updateprofile: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "UPDATE `LynkHack`.`Volunteer` SET `Name` = '" + data.Name + "', `Address` = '" + data.Address + "', `Latitude` = '" + data.Latitude + "', `Longitude` = '" + data.Longitude + "', `AreaID` = '" + data.AreaID + "' WHERE `VolunteerID` = '" + data.VolunteerID + "';";
+ var queryValue2 = "UPDATE `LynkHack`.`Victims` SET `Name` = '" + data.Name + "', `Address` = '" + data.Address + "', `Latitude` = '" + data.Latitude + "', `Longitude` = '" + data.Longitude + "', `AreaID` = '" + data.AreaID + "' WHERE `VictimID` = '" + data.VictimID + "';";
+
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ connection.query(queryValue2, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+
+ });
+ });
+
+
+ });
+ },
+ iscompletevolunteer: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "UPDATE `LynkHack`.`VolunteerResourceMap` SET `isCompleted` = '" + '1' + "' WHERE `VRMapID` = '" + data.VRMapID + "';";
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ iscompletevictim: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "UPDATE `LynkHack`.`VictimsHelpMap` SET `isCompleted` = '" + '1' + "' WHERE `VHMapID` = '" + data.VHMapID + "';";
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ if (result) {
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+ }
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getngodetails: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+
+ connection.getConnection(function (err) {
+ var queryValue = "select * from Organizations";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ getngofunddetails: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+
+ connection.getConnection(function (err) {
+ var queryValue = "select * from OrganizationsFunds";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ },
+ ngofundinsert: function (data) {
+ return new Promise(function (resolve, reject) {
+ var connection = mysql.createPool({
+ host: '139.59.94.48',
+ user: 'playtowindbuser',
+ password: 'Gameuser@123',
+ database: 'LynkHack'
+ });
+ connection.getConnection(function (err) {
+ var queryValue = "INSERT INTO `LynkHack`.`OrganizationsFunds` (`OrgID`, `Name`, `Description`, `Sponsor`, `Link`, `createdOn`, `updatedOn`, `isActive`) VALUES (";
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+
+ if (data.OrgID) {
+ queryValue += "'" + data.OrgID + "',";
+ } else {
+ resolve({ "status": 400, "error": "No OrgID field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Name) {
+ queryValue += "'" + data.Name + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Name field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Description) {
+ queryValue += "'" + data.Description + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Description field found" });
+ connection.end();
+ return;
+
+ }
+
+ if (data.Sponsor) {
+ queryValue += "'" + data.Sponsor + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Sponsor field found" });
+ connection.end();
+ return;
+
+ }
+ if (data.Link) {
+ queryValue += "'" + data.Link + "',";
+ } else {
+ resolve({ "status": 400, "error": "No Link field found" });
+ connection.end();
+ return;
+
+ }
+
+ queryValue += "'2019-01-01 00:00:00','2019-01-01 00:00:00','1')";
+
+
+ connection.query(queryValue, function (err, result, fields) {
+ if (err) {
+ resolve({ "status": 400, "error": err });
+ connection.end();
+ return;
+ }
+ resolve({ "status": 200, "data": result, "isSuccess": true });
+
+ connection.end();
+ return;
+
+ });
+ });
+
+
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/analytics.js b/Lynk-Hack-Backend-master/_core/post/analytics.js
new file mode 100644
index 00000000..0aa62d8a
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/analytics.js
@@ -0,0 +1,16 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ settings: function (req, res, wfXML) {
+ connection.settings(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data.data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/biblio.txt b/Lynk-Hack-Backend-master/_core/post/biblio.txt
new file mode 100644
index 00000000..3711914f
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/biblio.txt
@@ -0,0 +1 @@
+dsd
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/creategroup.js b/Lynk-Hack-Backend-master/_core/post/creategroup.js
new file mode 100644
index 00000000..3fa47b44
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/creategroup.js
@@ -0,0 +1,17 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ creategroup: function (req, res, wfXML) {
+ connection.creategroup(req.body).then(function(data){
+ console.log(req.body);
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getareas.js b/Lynk-Hack-Backend-master/_core/post/getareas.js
new file mode 100644
index 00000000..e59c1b9b
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getareas.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getareas: function (req, res, wfXML) {
+ connection.getareas(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getcategorypapers.js b/Lynk-Hack-Backend-master/_core/post/getcategorypapers.js
new file mode 100644
index 00000000..606e9b8d
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getcategorypapers.js
@@ -0,0 +1,21 @@
+var path = require('path');
+var exec = require('child_process').exec;
+const fs = require('fs');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getcategorypapers: function (req, res, wfXML) {
+
+ fs.writeFile("/Users/apple/quotesandfacts/_core/post/biblio.txt", req.body.text, function(err) {
+ if(err) {
+ return console.log(err);
+ }
+ execute("anystyle -f json parse /Users/apple/quotesandfacts/_core/post/biblio.txt", function(name){
+ res.status(200).json(name).end();
+ });
+ });
+
+ }
+}
+function execute(command, callback){
+ exec(command, function(error, stdout, stderr){ callback(stdout); });
+};
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getcities.js b/Lynk-Hack-Backend-master/_core/post/getcities.js
new file mode 100644
index 00000000..23e0e5e3
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getcities.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getcities: function (req, res, wfXML) {
+ connection.getcities(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getgroupdetails.js b/Lynk-Hack-Backend-master/_core/post/getgroupdetails.js
new file mode 100644
index 00000000..915f0345
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getgroupdetails.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getgroupdetails: function (req, res, wfXML) {
+ connection.getgroupdetails(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/gethelpertypes.js b/Lynk-Hack-Backend-master/_core/post/gethelpertypes.js
new file mode 100644
index 00000000..7e9398cf
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/gethelpertypes.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ gethelpertypes: function (req, res, wfXML) {
+ connection.gethelpertypes(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getngodetails.js b/Lynk-Hack-Backend-master/_core/post/getngodetails.js
new file mode 100644
index 00000000..66d1ff06
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getngodetails.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getngodetails: function (req, res, wfXML) {
+ connection.getngodetails(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getngofunddetails.js b/Lynk-Hack-Backend-master/_core/post/getngofunddetails.js
new file mode 100644
index 00000000..8acb4890
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getngofunddetails.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getngofunddetails: function (req, res, wfXML) {
+ connection.getngofunddetails(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getprofiledetails.js b/Lynk-Hack-Backend-master/_core/post/getprofiledetails.js
new file mode 100644
index 00000000..7175eaaf
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getprofiledetails.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getprofiledetails: function (req, res, wfXML) {
+ connection.getprofiledetails(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getstates.js b/Lynk-Hack-Backend-master/_core/post/getstates.js
new file mode 100644
index 00000000..7e9828c6
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getstates.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getstates: function (req, res, wfXML) {
+ connection.getstates(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getvictimdetails.js b/Lynk-Hack-Backend-master/_core/post/getvictimdetails.js
new file mode 100644
index 00000000..06efe49c
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getvictimdetails.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getvictimdetails: function (req, res, wfXML) {
+ connection.getvictimdetails(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getvictimshelpmap.js b/Lynk-Hack-Backend-master/_core/post/getvictimshelpmap.js
new file mode 100644
index 00000000..e585a99b
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getvictimshelpmap.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getvictimshelpmap: function (req, res, wfXML) {
+ connection.getvictimshelpmap(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getvolunteerdetails.js b/Lynk-Hack-Backend-master/_core/post/getvolunteerdetails.js
new file mode 100644
index 00000000..51add14c
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getvolunteerdetails.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getvolunteerdetails: function (req, res, wfXML) {
+ connection.getvolunteerdetails(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/getvolunteerhelpmap.js b/Lynk-Hack-Backend-master/_core/post/getvolunteerhelpmap.js
new file mode 100644
index 00000000..5e152498
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/getvolunteerhelpmap.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ getvolunteerhelpmap: function (req, res, wfXML) {
+ connection.getvolunteerhelpmap(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/helpsomeone.js b/Lynk-Hack-Backend-master/_core/post/helpsomeone.js
new file mode 100644
index 00000000..7db3072e
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/helpsomeone.js
@@ -0,0 +1,16 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ helpsomeone: function (req, res, wfXML) {
+ connection.helpsomeone(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/iscompletevictim.js b/Lynk-Hack-Backend-master/_core/post/iscompletevictim.js
new file mode 100644
index 00000000..6a7d73bb
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/iscompletevictim.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ iscompletevictim: function (req, res, wfXML) {
+ connection.iscompletevictim(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/iscompletevolunteer.js b/Lynk-Hack-Backend-master/_core/post/iscompletevolunteer.js
new file mode 100644
index 00000000..63685a23
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/iscompletevolunteer.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ iscompletevolunteer: function (req, res, wfXML) {
+ connection.iscompletevolunteer(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/likedquotes.js b/Lynk-Hack-Backend-master/_core/post/likedquotes.js
new file mode 100644
index 00000000..d04bb859
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/likedquotes.js
@@ -0,0 +1,15 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ likedquotes: function (req, res, wfXML) {
+ connection.likedquotes(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data.data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/ngoauth.js b/Lynk-Hack-Backend-master/_core/post/ngoauth.js
new file mode 100644
index 00000000..0204c484
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/ngoauth.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ ngoauth: function (req, res, wfXML) {
+ connection.ngoauth(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/ngofundinsert.js b/Lynk-Hack-Backend-master/_core/post/ngofundinsert.js
new file mode 100644
index 00000000..5c03bc5c
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/ngofundinsert.js
@@ -0,0 +1,16 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ ngofundinsert: function (req, res, wfXML) {
+ connection.ngofundinsert(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/ngoinsert.js b/Lynk-Hack-Backend-master/_core/post/ngoinsert.js
new file mode 100644
index 00000000..c125838f
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/ngoinsert.js
@@ -0,0 +1,16 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ ngoinsert: function (req, res, wfXML) {
+ connection.ngoinsert(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/posthelpvictim.js b/Lynk-Hack-Backend-master/_core/post/posthelpvictim.js
new file mode 100644
index 00000000..3e25762c
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/posthelpvictim.js
@@ -0,0 +1,17 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ posthelpvictim: function (req, res, wfXML) {
+ connection.posthelpvictim(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ return;
+ });
+
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/quotes.js b/Lynk-Hack-Backend-master/_core/post/quotes.js
new file mode 100644
index 00000000..20b3f868
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/quotes.js
@@ -0,0 +1,26 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ quotes: function (req, res, wfXML) {
+ connection.quotes(req.body).then(function(data){
+ if(req.client && req.client._peername)
+ {
+ if(!req.client._peername.address)
+ {req.client._peername["address"]="";}
+ if(!req.client._peername.port)
+ {req.client._peername["port"]="";}
+ if(!req.client._peername.family)
+ {req.client._peername["family"]="";}
+ req.body["ipaddress"]=req.client._peername.address+":"+req.client._peername.port+" "+req.client._peername.family;
+ }
+ if(data.status==200)
+ {
+ res.status(200).json(data.data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/updatearea.js b/Lynk-Hack-Backend-master/_core/post/updatearea.js
new file mode 100644
index 00000000..90de77f3
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/updatearea.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ updatearea: function (req, res, wfXML) {
+ connection.updatearea(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/updateprofile.js b/Lynk-Hack-Backend-master/_core/post/updateprofile.js
new file mode 100644
index 00000000..6820a059
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/updateprofile.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ updateprofile: function (req, res, wfXML) {
+ connection.updateprofile(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/victiminsert.js b/Lynk-Hack-Backend-master/_core/post/victiminsert.js
new file mode 100644
index 00000000..d0e52648
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/victiminsert.js
@@ -0,0 +1,16 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ victiminsert: function (req, res, wfXML) {
+ connection.victiminsert(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/volunteerauth.js b/Lynk-Hack-Backend-master/_core/post/volunteerauth.js
new file mode 100644
index 00000000..b53859dc
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/volunteerauth.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ volunteerauth: function (req, res, wfXML) {
+ connection.volunteerauth(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ let msg="";
+ if(data.error)
+ {
+ msg=data.error;
+ }
+
+ res.status(400).json({"message":msg}).end();
+ }
+ return;
+ });
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/post/volunteerinsert.js b/Lynk-Hack-Backend-master/_core/post/volunteerinsert.js
new file mode 100644
index 00000000..605b4618
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/post/volunteerinsert.js
@@ -0,0 +1,17 @@
+var path = require('path');
+var connection = require(path.join(__dirname, '..', 'post', 'JS', 'connection.js'));
+module.exports = {
+ volunteerinsert: function (req, res, wfXML) {
+ connection.volunteerinsert(req.body).then(function(data){
+ if(data.status==200)
+ {
+ res.status(200).json(data).end();
+ }else
+ {
+ res.status(400).json({"message":"something went wrong."}).end();
+ }
+ return;
+ });
+
+ }
+}
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/_core/routers.js b/Lynk-Hack-Backend-master/_core/routers.js
new file mode 100644
index 00000000..a8be58f4
--- /dev/null
+++ b/Lynk-Hack-Backend-master/_core/routers.js
@@ -0,0 +1,48 @@
+var bodyParser = require('body-parser')
+ , express = require('express')
+ , router = express.Router()
+ ;
+
+
+// There will not be any authorisation because the request is going to be limited to Whitelisted IP
+
+router.use(bodyParser.urlencoded({ limit: '50mb', extended: true })) // parse application/x-www-form-urlencoded
+router.use(bodyParser.text({ limit: '50mb', type: 'application/xml' })) // parse application/xml
+router.use(bodyParser.json({ limit: 1024 * 1024 * 20, type: 'application/json' })) // parse application/json
+
+//adding it to set default directory for loading interface page
+router.use(express.static('public'));
+router.use(bodyParser.json());
+/**
+ * handle all api calls, GET/POST/PUT/DELETE/...
+ */
+router.post('/api/*', function(req, res){
+ var pageName = req.url.toLowerCase();
+ var endPointName = pageName.replace(/^\/api\/([^\/\?]+)\/?.*$/gi, '$1');
+ var reqMethod = req.method.toLowerCase();
+
+ try {
+
+ var api=require('../_core/'+reqMethod+'/'+endPointName+'.js');
+ api[endPointName](req,res);
+ //console.log("success");
+
+ }
+ catch(e){
+ //console.log("failed");
+ res.status(404).json({status:{code: 404, message: "You have used an incorrect request methos (GET instead of POST?) or the requested resource does not exist"}}).end();
+ }
+
+ //logRequests(req, 'success');
+
+ });
+
+
+/**
+ * handle all other requests here, just say not found!!!
+ */
+router.all('*', function (req, res) {
+ res.status(200).json({ status: { code: 404, message: "You have used an incorrect request methos (GET instead of POST?) or the requested resource does not exist" } }).end();
+});
+
+module.exports = router
\ No newline at end of file
diff --git a/Lynk-Hack-Backend-master/app.js b/Lynk-Hack-Backend-master/app.js
new file mode 100644
index 00000000..f797f3eb
--- /dev/null
+++ b/Lynk-Hack-Backend-master/app.js
@@ -0,0 +1,52 @@
+var compression = require('compression')
+ , express = require('express')
+ , expressStatus = require('express-status-monitor')
+ , helmet = require('helmet')
+ , routers = require('./_core/routers.js');
+
+
+var app = express(); // call the express framwork
+app.use(expressStatus()); // status monitor
+app.enable('trust proxy'); // to get the actual ip address behind aws elb proxy
+
+//to define port from an argument
+var port = 3004;
+if ((process.argv.length > 2) && (process.argv[2])) {
+ port = process.argv[2] ? process.argv[2] : port;
+}
+
+app.use(helmet()); // to set the http headers
+app.use(compression()); // New call to compress content
+app.use(routers); // call the controllers
+
+// app exit normally
+process.on('exit', function () {
+ console.log('app exit');
+ process.exit();
+});
+
+// catch ctrl+c event and exit normally
+process.on('SIGINT', function () {
+ //console.log('Ctrl-C...');
+ process.exit();
+});
+
+// TODO: IMPORTANT: Need to update this section
+//catch uncaught exceptions, trace, then exit normally
+process.on('uncaughtException', function (e) {
+ console.log('Uncaught Exception...');
+ console.log(e.stack);
+ process.exit();
+});
+
+// start the server and listen to the port
+app.listen(port, function () {
+ console.log("\033c");
+ console.log(' +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+');
+ console.log(' | b i b l i o s e r v i c e |');
+ console.log(' +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+');
+ console.log('');
+ console.log('listening on port : ' + port);
+ console.log('server is ready ...');
+ console.log('environment', process.env.NODE_ENV);
+})
diff --git a/Lynk-Hack-Backend-master/package.json b/Lynk-Hack-Backend-master/package.json
new file mode 100644
index 00000000..f303afe1
--- /dev/null
+++ b/Lynk-Hack-Backend-master/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "editreference",
+ "version": "1.0.0",
+ "description": "Edit reference per customer preference",
+ "main": "editReference.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": [
+ "edit",
+ "reference",
+ "pubmed",
+ "crossref"
+ ],
+ "author": "Chetan Dwarkani",
+ "license": "ISC",
+ "dependencies": {
+ "body-parser": "^1.18.3",
+ "compression": "^1.7.3",
+ "express": "^4.16.3",
+ "express-status-monitor": "^1.1.5",
+ "fs": "0.0.1-security",
+ "helmet": "^3.13.0",
+ "mysql": "^2.16.0",
+ "path": "^0.12.7",
+ "q": "^1.5.1"
+ }
+}
diff --git a/Lynk-Hack-Backend-master/public/index.html b/Lynk-Hack-Backend-master/public/index.html
new file mode 100644
index 00000000..1e29ace7
--- /dev/null
+++ b/Lynk-Hack-Backend-master/public/index.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This works!
+
\ No newline at end of file
diff --git a/MySQL_DB_ER.png b/MySQL_DB_ER.png
new file mode 100644
index 00000000..111ca42c
Binary files /dev/null and b/MySQL_DB_ER.png differ
diff --git a/README.md b/README.md
index 8485fa33..3e400793 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,32 @@
# disaster-management
Lynk Hackathon 2019 - Disaster Management
+
+- Team Dwarsoft -
+
+Tech Stack -
+
+1. Android Studio - Java, XML
+2. Backend - Node JS
+3. Database - MySQL
+
+- Postman Docs of the APIs - https://documenter.getpostman.com/view/6059098/SVtWvmjC?version=latest#51227406-b3f9-4064-aec2-ac7cfbbac259
+- Please find the attached the APK of the Android App in the root folder. (Please change the IP address accordingly)
+- App Screenshots - https://drive.google.com/drive/folders/1MUGRaxoNR_W55YQGdvYNxZhcOwa69tS_?usp=sharing
+
+The following is the description of our project -
+
+Android -
+ - Written in Android Native Java Platform.
+ - APK size is well optimized using multiple techniques such as R8, shrinking the resources, lint checks and others
+obfuscation algoriths (Less than 1.8 MB for the release build)
+ - Google's Volley is being used for the Networking calls which has the least size of the aar with great thread mechanism.
+ - Google's Material Design Theme has been followed accordingly throughout the application.
+ - Localization - The app can be used in multiple languages (helps in conditions where locals can use it easily) - currently
+supports two languages but can be easily extended to any number of languages.
+ - App is also interconnected with Twitter, Telegram and many other social networking platforms for better reach.
+ - Local caching has been adopted using Google's Room Database which in-turn is one of the best local storage libraries available for Android.
+
+Backend -
+ - MySQL - RDBMS has been used to create multiple tables (currently 16 tables).
+ - Proper Foriegn Key and Naming has been followed along with the DBMS normalized approach.
+ - Node JS - 25 API Endpoints has been written addressing various use cases of the application making all the features of the app as much dynamic as possible.
\ No newline at end of file