Forest_tracker - Help protect the environment with such a simple app.

Overview

Forest Tracker 🌳 🌲 🌱

Introduction

Hey there! This app is all about protecting the environment! A unique method. Deforestation is happening at an alarming rate. We all know. Trees are also being cut illegally. So, this app is to check that. The basic idea is to keep a track of every single tree cut or planted. So, we can exactly determine the percentage tree cover after the app usage has been started. The first step to protecting the environment is to know our resources.

Description of the App 📱

The app uses firebase to store data at backend.

  • App begins with a 3 page intro slider.
  • Next screen takes the user to simple login asking for name (not stored online, just for Hello!), and selecting Home state and district.
  • Main home screen has 3 bottom navigations and a “Upload” Floating action button

Home Fragment 📱

  • Greets user by “Hello {Name}”, on top
  • Contains 4 buttons
  • Report Planted Trees (for Home district)
  • Report Cut Trees (for Home district)
  • View All Data
  • View Your State Data
  • Also shows the summary of data uploaded by user.

Track Fragment (for viewing data of a specific state) 📱

  • Shows list of all states

Dashboard Fragment 📱

  • Shows Name, Home State and District
  • All Data Uploaded By User Button -> Takes to another screen and shows all data uploaded by user
  • Help Button -> Shows some help content
  • About Button -> Shows some about
  • Feedback / Suggest a Feature Button -> Gets some feedback from the user

Upload Floating Action Button 📱

  • Activity 1: Get State and District from user.
  • Activity 2: Buttons to report planted or cut trees. Also shows current data for the selected district.
  • Activity 3: Differs based on whether user selects to report planted or cut trees. Shows a number selector to pick a number. Then a Button to ‘Validate and Register’
  • Activity 4: To check false data reports, user has to validate by using any of the three options
    • Add an image proof 🖼️
      • User has to upload an image, that will be stored on firebase.
    • Enter tree id (a number marked on tree) 🔢
      • User has to enter the number marked on tree
    • Solve a simple math problem
      • User solves a simple math problem

After validation, data is successfully uploaded. ⬆️

Firebase Data Structure:

forest-tracker
|    -Feedback
|	-Random UUID: “{Feedback}”
|
|
|    -Feature
|	-Random UUID: “{Suggested Feature}”
|
|
|    -Trees
|	-Locations
|	    -State 1
|		-District 1
|		...	
|		...
|	    -State 2
|		-District 2
|		...
|		...
|	    ...
|	    ...
|
|    -Math Problems
|	-State 1
|	    -District 1
|		- 'n' TreesPlanted DD-MM-YYYY_HH-MM-SS_AA: "Answered {Answer}"
|		- 'n' TreesCut DD-MM-YYYY_HH-MM-SS_AA: "Answered {Answer}"
|
|    -Tree Numbers
|	-State 1
|	    -District 1
|		- 'n' TreesPlanted DD-MM-YYYY_HH-MM-SS_AA: "{Tree ID}"
|		- 'n' TreesCut DD-MM-YYYY_HH-MM-SS_AA: "{Tree ID}"

Explanation

Database for locations has been maintained as shown above.
  • Similarly, when someone uses “Math Problem” as validation, it is stored under “Math Problems” under State under District formatted as
    • ‘n’ TreesPlanted DD-MM-YYYY_HH-MM-SS_AA: "Answered {Answer}"
    • ‘n’ TreesCut DD-MM-YYYY_HH-MM-SS_AA: "Answered {Answer}"
  • When someone uses “Tree ID” as validation, it is stored under “Tree Numbers” under State under District formatted as
    • ‘n’ TreesPlanted DD-MM-YYYY_HH-MM-SS_AA: {Tree ID} (as int)
    • ‘n’ TreesCut DD-MM-YYYY_HH-MM-SS_AA: {Tree ID} (as int)
  • When someone uses Image Proof as validation, the image is uploaded to Firebase Storage under \images\ by the name
    • {State}_{District}_’n’ Trees Planted_DD-MM-YYYY_HH-MM-SS_AA
    • {State}_{District}_’n’ Trees Cut_DD-MM-YYYY_HH-MM-SS_AA
  • When someone suggests a feature, it is stored under “Feature” under a random UUID as
    • {UUID}: “Suggested Feature”
  • When someone writes a feedback, it is stored under “Feedback” under a random UUID as
    • {UUID}: “Feedback”

Privacy 🔒

  • User’s privacy has been taken very seriously. You can see, instead of maintaining such a large database, location could be fetched easily using GPS, but it has not been done.
  • Similarly, the name is not uploaded anywhere. It is stored only in the phone only for greeting purposes. Same is the case with the Home state and district data.

Future Developments

  1. Add more validation options and optimize the existing ones. Like, someone can still enter false Tree ID or upload any image, there is no method to check that even. Math problem is also not apt here.
  2. Make the App’s UI and UX more interesting.
  3. Add some incentives. For instance, TreeCoins. A user would get, say, 10 TreeCoins for every tree cut/planted report. That would make it even more interesting. Also, can maintain a leaderboard and give some rewards, it would make people more willing to participate.

Contribution

Any contribution on this project will be much appreciated.

Thank You

You might also like...

simple interface to verify user authenticity

simple interface to verify user authenticity

React Native Simple Biometrics A simple and straight forward API to ask a user to authenticate with on device biometrics. This can be used to quickly

Dec 29, 2022

A simple HWID authentication system for your minecraft mod.

HWID-Authentication-System A simple HWID authentication system for your minecraft mod. This is a simple mod which can prevent unwanted users from runn

Dec 10, 2022

A simple HWID authentication system for your minecraft mod.

HWID-Authentication-System A simple HWID authentication system for your minecraft mod. This is a simple mod which can prevent unwanted users from runn

Dec 10, 2022

Simple Hospital Managers Project GUI Java

Hospital-Managers-GUI-Java Simple Hospital Managers Project GUI Java To Run Code You just need to run MainClass.java in any IDE I make a YouTube Video

Feb 4, 2022

Simple API for using Java Reflection

Reflector По поводу багов или идей для данного репозитория можно писать в Discord или ВК(обратная связь) Обратная связь Discord: UnLegit#6190 ВКонтакт

Jan 25, 2022

An extension that wraps a Cellpose environment such that WSI can be analyzed using Cellpose through QuPath.

An extension that wraps a Cellpose environment such that WSI can be analyzed using Cellpose through QuPath.

QuPath Cellpose extension This repo adds some support to use 2D Cellpose within QuPath through a Python virtual environment. Installing Step 1: Instal

Nov 25, 2022

Annotation/Reflection Based Bukkit Command API. Containing many features such as help-service, command providers, tab completion, and many more!

CommandAPI Annotation/Reflection Based Command API that just does what you want it to do without any problems. Importing Maven repository id

Jun 13, 2022

Google App Engine Standard Environment Source Code for Java 8 and Java11

 Google App Engine Standard Environment Source Code for Java 8 and Java11

Google App Engine Standard Environment Source Code for Java 8 and Java11. This is a repository that contains the Java Source Code for Google App Engin

Jan 2, 2023

A virtual Linux shell environment application for Android OS. Runs Alpine Linux in QEMU system emulator. Termux app fork.

vShell (Virtual Shell) — a successor of Termux project which provides an alternate implementation of the Linux terminal emulator for Android OS.

Feb 1, 2022

State-of-the-art cryptography to protect your world seed against seed cracking tools

SecureSeed State-of-the-art cryptography to protect your world seed against seed cracking tools. This mod is written for the Fabric Mod Loader. If you

Dec 28, 2022

JavaWeb MemoryShell Inject/Scan/Killer/Protect Research & Exploring

JavaWeb MemoryShell Inject/Scan/Killer/Protect Research & Exploring

Memory Shell JavaWeb MemoryShell Inject/Scan/Killer/Protect Research & Exploring 文章:JavaWeb 内存马一周目通关攻略 项目介绍 本项目用来学习和研究 JavaWeb 内存马添加和防御模式,共包含以下几个模块。 m

Dec 30, 2022

The best plugin to protect anarchy servers and mc servers in general against op attacks.

AdminSecure The best plugin to protect anarchy servers and mc servers in general against op attacks How does it work? When the server detects a player

Sep 2, 2021

A singular file to protect as many Minecraft servers and clients as possible from the Log4j exploit (CVE-2021-44228).

MC-Log4J-Patcher The goal of this project is to provide Minecraft players, and server owners, peace of mind in regards to the recently discovered Log4

Jan 4, 2022

Protect your Spigot server against IP forwarding exploits, as well as blocking unknown BungeeCord and/or Velocity proxies.

Sentey Protect your Spigot server against IP forwarding exploits, as well as blocking unknown BungeeCord and/or Velocity proxies. But firewalls are a

Dec 28, 2022

UniFi Proxy makes it possible to integrate third-party hardware into UniFi Protect

UniFi Proxy makes it possible to integrate third-party hardware into UniFi Protect

UniFi Proxy UniFi Proxy makes it possible to integrate third-party hardware into UniFi Protect. For testing purposes only, it is recommended to purcha

Dec 27, 2022

The project is a simple vulnerability Demo environment written by SpringBoot

The project is a simple vulnerability Demo environment written by SpringBoot

The project is a simple vulnerability Demo environment written by SpringBoot. Here, I deliberately wrote a vulnerability environment where there are arbitrary file uploads, and then use the `scan` attribute in the loghack configuration file to cooperate with the logback vulnerability to implement RCE.

Dec 14, 2022

With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any other file server

React Native In-App update With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any o

Dec 21, 2022
Owner
Forest Tracker
Forest Tracker
This application can recognize the sign language alphabets and help people who do not understand sign language to communicate with the speech and hearing impaired.

Sign Language Recognition App This application can recognize the sign language alphabets and help people who do not understand sign language to commun

Mihir Gandhi 12 Oct 7, 2021
shiro only provide the support of ehcache and concurrentHashMap. Here is an implement of redis cache can be used by shiro. Hope it will help you!

shiro only provide the support of ehcache and concurrentHashMap. Here is an implement of redis cache can be used by shiro. Hope it will help you!

alex 1.1k Dec 18, 2022
Auto reply app helping you move away from less private messengers like WhatsApp and Facebook Messenger

Watomatic - Auto reply for WhatsApp so you can stop using it Watomatic sends an automated reply to everyone contacting you on WhatsApp. This is especi

Deekshith Allamaneni 335 Dec 28, 2022
Unofficial Clubhouse web app client. For personal use only. It's a personal open-source project and not affiliated with any company.

Purpose of this web app That's a personal project and not affiliated with any company. This is the web client app to make your Club House experience b

Sergei Ovchinnikov 45 Nov 15, 2022
Anonymous chatting web app

Innogl This project is an anonymous web and video chat with strangers. Users can choose an online companion to discuss anything, find new friends or d

null 15 Oct 22, 2022
Projeto 2, app mobile de Ordens de Serviços da aula de Tópicos Especiais em Informática do curso de Análise e Desenvolvimento de Sistemas da FATEC - São Caetano do Sul, com android studio.

Projeto 2 Sistema Ordem De Serviço Tópicos Especiais em Informática TIPO DE NEGÓCIO: EMPRESA DE DESENVOLVIMENTO DE SOFTWARES OBJETIVO: Implementar um

Vicente Luz 1 Jun 28, 2022
GzKitchen - Japanese Style Restaurant (Mobile App)

GzKitchen-Android GzKitchen - Japanese Style Restaurant (Mobile App) How to copy the project to your local machine : Download / clone tihs repository

Gavriel Satrio Widjaya 3 Jan 9, 2022
Vigour - An Android Fitness App that rewards users with Crypto for walking a certain amount of steps.

Vigour Group Project for 2022 Mobile Application Development. Our app rewards user with crypto after walking for a certain amount of steps. We will be

null 3 Sep 12, 2022
This App is a command line application, based on Cryptography.

This App is a command line application, based on Cryptography. where a user input a text and its encrypted and can be decrypted as well.

Mohamed Ibrahim 1 Jan 28, 2022
Writeup and exploit for installed app to system privilege escalation on Android 12 Beta through CVE-2021-0928

Writeup and exploit for installed app to system privilege escalation on Android 12 Beta through CVE-2021-0928, a `writeToParcel`/`createFromParcel` serialization mismatch in `OutputConfiguration`

null 52 Dec 30, 2022