Skip to content

2.0 WeMAST Data Collector

Steve Firsake edited this page Dec 11, 2023 · 3 revisions

WeMAST Data Collector

Introduction

splash splash splash
  • Created via Android Studio (Java programming)
  • The app supports offline and online data collection through customizable forms.
  • Sign Up and Sign In operations with administrator approval.
  • User roles determine access to different forms.
  • Questionnaire status displayed in three modes (Completed, Pending, and Posted).
  • Visualization of collected data.
  • Batch posting of completed data.
  • Sign-up involves capturing user details, and approval is done by the system's administrator.
  • Users are assigned roles based on which they access different survey questionnaires.
  • Users can also access information via the web dashboard.

Sign Up

splash
  • Sign-up involves capturing details like username, phone number, email address, and password.
  • Administrator approval and role assignment follow.
  • Users access different survey questionnaires based on their roles.

Sign In

splash
  • Users sign in using their registered phone number.
  • First login requires internet connection, and subsequent logins are offline.
  • Survey questionnaires and records are loaded in the background.

Dashboard

splash splash
  • Similar to the front-end web application. Refer to this link

Data Collection Entry

splash
  • Includes a summary of records collected by the user.

Main Data Collection Menu

splash splash splash splash
  • Access to all survey questionnaires and survey records based on their status.
  • Sidebar module with Post Data button and map viewer function.

Collector (Survey) Form

splash splash splash
  • Auto-generated survey questionnaire from the database.
  • Default data includes location coordinates, date, time, and completion status.
  • Parcel Drawer page for plotting a farm or plantation with area calculation.

PHPMyAdmin (Database Access Platform)

splash splash splash splash splash
  • Can be accessed through this link. All credentials can be accessed from the administrator.

  • Database access platform with tables: _surveyforms, _surveyresults, and _users.

  • Forms created using VueJS Form Generator and passed as JSON.

  • For more details about using PHPMyAdmin, refer to this link.

  • There are 3 tables: _surveyforms (forms storage), _surveyresults (posted mobile data storage), and _users (user credentials and roles).

  • All survey_questions under the _surveyforms table are created using VueJS Form Generator and passed as JSON. For more information, read about VueJS Form Generator.

Example:

` [{ "type": "select", "label": "Select an Indicator", "model": "indicator", "values": [ "Exposure", "Sensitivity", "Resilience" ], "placeholder": "Indicator", "disabled": false, "readonly": false, "featured": true, "required": true, "visible": true }, { "type": "select", "label": "Select Sub-Indicator", "model": "sub_indicator", "values": function(model, schema) { switch(model.indicator) { case "Exposure": return ["Land Use Land Cover (LULC)", "Vegetation Cover", "Wetland Inventory:Extent", "Wetland Inventory:Status"]; case "Sensitivity": return ["Water Quality:Turbidity", "Water Quality:Nitrogen Content", "Water Quality:Suspended Sediments", "Soil Moisture"]; case "Resilience": return ["Burnt Area", "Precipitation Index", "Undulation"]; } return []; } , "placeholder": "Sub-Indicator", "disabled": false, "readonly": false, "featured": true, "required": true, "visible": true }, { "type": "select", "label": "Select Basin", "model": "basin", "values": [ "Cuvelai", "Limpopo", "Okavango", "Zambezi" ], "placeholder": "Basin", "disabled": false, "readonly": false, "featured": true, "required": true, "visible": true }, { "type": "select", "label": "Does the Wetland have a Name?", "model": "has_name", "values": [ "No", "Yes" ], "disabled": false, "readonly": false, "featured": true, "required": true, "visible": true }, { "type": "input", "inputType": "text", "label": "Specify Name of Wetland", "model": "wetland_name", "placeholder": "Wetland Name", "disabled": false, "readonly": false, "featured": true, "visible": function(model) { return model && model.has_name == "Yes"} }, { "type": "select", "label": "Select Year", "model": "year", "values": [ "2023", "2022", "2021", "2020" ], "placeholder": "Year", "disabled": false, "readonly": false, "featured": true, "required": true, "visible": true }, { "type": "select", "label": "Select Season", "model": "season", "values": [ "Dry", "Wet" ], "placeholder": "Season", "disabled": false, "readonly": false, "featured": true, "required": true, "visible":

                function(model) {
                                    if (model.sub_indicator == "Land Use Land Cover (LULC)" || model.sub_indicator == "Undulation" || model.sub_indicator == "Burnt Area" ) {
                                        return false;
                                    }else{
                                        return model;
                                    }

                                }
},
{
    "type": "select",
    "label": "Select Class / Category",
    "model": "category",
    "values": 
            function(model, schema) {
                switch(model.sub_indicator) {
                    case "Land Use Land Cover (LULC)": return ["Agriculture", "Artificial", "Bareland", "Forest", "Grassland", "Shrubland", "Water", "Wetland"];
                    case "Vegetation Cover": return ["Very Low", "Low", "Moderate", "High"];
                    case "Wetland Inventory:Extent": return ["Water", "Non-Water"];
                    case "Wetland Inventory:Status": return ["Water", "Dry,Wetness"];
                    case "Water Quality: Turbidity": return ["Low", "Moderate", "High"];
                    case "Water Quality:Nitrogen Content": return ["Low", "Moderate", "High"];
                    case "Water Quality:Suspended Sediments": return ["Low", "Moderate", "High"];
                    case "Soil Moisture": return ["Very Low", "Low", "Moderate", "High", "Very High"];
                    case "Burnt Area": return ["Jan-March", "Apr-June", "July-Sept", "Oct-Dec"];
                    case "Precipitation Index": return ["Moderately Dry", "Near Normal", "Moderately Wet", "Wet"];
                    case "Undulation": return ["Flooded Area", "Wetness", "Moderate Wetness", "Low Wetness", "Dry"];
                }

                return [];
            }
    ,
    "placeholder": "Class or Category",
    "disabled": false,
    "readonly": false,
    "featured": true,
    "required": true,
    "visible": true
},
{
    "type": "textArea",
    "rows": 4,
    "label": "Additional Remarks",
    "model": "remarks",
    "placeholder": "Remarks",
    "disabled": false,
    "readonly": false,
    "featured": true,
    "visible": true
}]

`