diff --git a/README.md b/README.md index 6fa36db..1ec4d33 100644 --- a/README.md +++ b/README.md @@ -7,35 +7,38 @@ We developed an interactive web application to facilitate multi-taxon field samp This user-friendly application streamlines the process of field sampling and data collection, making it more efficient and accessible to a wide range of users, regardless of their technical expertise or location. -![](app_demo.gif) +![App Demo](app_demo.gif) + +## Table of contents -# Table of contents - [Field surveys App](#field-surveys-app) -- [Table of contents](#table-of-contents) -- [Installation](#installation) -- [Prerequisites](#prerequisites) -- [survey.yaml file](#surveyyaml-file) -- [Data CSV files](#data-csv-files) -- [keyfile.json](#keyfilejson) -- [Run the app on your machine](#run-the-app-on-your-machine) -- [Deploying the app on the web (so it can be accessed from anywhere)](#deploying-the-app-on-the-web-so-it-can-be-accessed-from-anywhere) -- [Demo](#demo) -- [Issues/Feature requests](#issuesfeature-requests) - - -# Installation + - [Table of contents](#table-of-contents) + - [Installation](#installation) + - [Prerequisites](#prerequisites) + - [survey.yaml file](#surveyyaml-file) + - [Data CSV files](#data-csv-files) + - [keyfile.json](#keyfilejson) + - [Run the app on your machine](#run-the-app-on-your-machine) + - [Deploying the app on the web (so it can be accessed from anywhere)](#deploying-the-app-on-the-web-so-it-can-be-accessed-from-anywhere) + - [Demo](#demo) + - [Issues/Feature requests](#issuesfeature-requests) + +## Installation + ```bash pip install fieldsurveys ``` -# Prerequisites +## Prerequisites + - Python 3.9 or higher (Install python from [here](https://www.python.org/downloads/)) - tkinter (will be included with your python installation) - survey.yaml file (see instructions [below](#surveyyaml-file)) - Data CSV files (see instructions [below](#data-csv-files)) - keyfile.json (see instructions [below](#keyfilejson)) -# survey.yaml file +## survey.yaml file + This is the config file that allows the user to configure the app to their specific needs. The *survey.yaml* file should be created using the **Survey App config generator** over [here](https://nafcillincat.shinyapps.io/survey_config_generator/). The **Survey App config generator** allows the user to create a survey.yaml file by providing the following information in a step-by-step process: 1. Surveyor names @@ -48,7 +51,8 @@ This is the config file that allows the user to configure the app to their speci 8. Google Workbook Name 9. Google Drive Folder Id -# Data CSV files +## Data CSV files + The app requires users to upload data CSV files. These CSV files should contain the data that the user wants to collect during the survey. The CSV files must have the following headers (first line) in the specified order: 1. Common Name @@ -58,6 +62,7 @@ The app requires users to upload data CSV files. These CSV files should contain The app also supports an additional column called ***Alpha Code***, but it is not mandatory. An example is shown below: + ```csv Alpha Code,Common Name,Genus,Species PLOC,American sycamore,Platanus,occidentalis @@ -69,10 +74,11 @@ ACMA,Bigleaf maple,Acer,macrophyllum Ensure your CSV file follows the required format before uploading. You can use multiple CSV files, one for each survey type (e.g., plants, trees, grasses). -# keyfile.json +## keyfile.json To download the keyfile.json for your Google Cloud account as a first-time user, follow these steps: -1. Go to the Google Cloud Console (https://console.cloud.google.com/). + +1. Go to the [Google Cloud Console](https://console.cloud.google.com/). 1. If you don't have a Google Cloud project, create a new one by clicking on the "Select a project" dropdown at the top of the console and then clicking "New Project". 1. Once you have a project, navigate to the "APIs & Services" section from the sidebar menu or search for it in the top search bar. 1. Click on "Credentials" in the left-hand menu. @@ -82,13 +88,12 @@ To download the keyfile.json for your Google Cloud account as a first-time user, 1. Click on "Create Key" to create a new key for your service account. 1. In the "Create Private Key" window, select the "JSON" key type. 1. Click "Create" to generate and download the keyfile.json file to your local machine. - -**Note:** *Keep this **keyfile.json** file secure, as it contains sensitive information that can be used to access your Google Cloud resources. You'll need this file to authenticate and authorize your applications when making API calls to Google Cloud services.* +**Note:** *Keep this **keyfile.json** file secure, as it contains sensitive information that can be used to access your Google Cloud resources. You'll need this file to authenticate and authorize your applications when making API calls to Google Cloud services.* -# Run the app on your machine +## Run the app on your machine To instantiate the app, run the following command in your terminal: @@ -98,13 +103,14 @@ fieldsurveys Follow the instructions on the screen to select your survey.yaml, data CSV files, and keyfile.json. It will then ask you for the directory where you want to store the app. Once you have provided all the necessary information, the app will be created in the specified directory. -# Deploying the app on the web (so it can be accessed from anywhere) +## Deploying the app on the web (so it can be accessed from anywhere) To deploy the app on the web, you can use the Shinyapps.io platform. You can follow the instructions [here](https://docs.posit.co/shinyapps.io/getting-started.html#working-with-shiny-for-python) to deploy your app on the Shinyapps.io platform. -# Demo +## Demo + If you want to play around with the app before setting up one for your case, feel free to go over to this [link](https://nafcillincat.shinyapps.io/demo_app) and explore the app and the features it offers. +## Issues/Feature requests -# Issues/Feature requests If you encounter any issues or have any feature requests, please feel free to open an issue on the GitHub repository [here](https://github.com/karangattu/fieldsurveys/issues) \ No newline at end of file