Giter Site home page Giter Site logo

chintan2108 / cyanokhoj Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 6.0 14.48 MB

This is a web-app which employs the citizen science program by tracking their tweets and subsequent data analysis on Google Earth Engine, aimed at effective CyanoHAB detection and monitoring in water bodies around the world.

Home Page: http://34.67.7.17/CyanoKhoj/

License: MIT License

Python 2.64% PHP 19.06% CSS 25.65% JavaScript 2.52% Less 23.56% SCSS 23.87% HTML 2.43% Hack 0.26%
citizen-science gcp-compute location-tracker nlp-keywords-extraction tweet-analysis water-bodies web-application

cyanokhoj's Introduction

Hi there ๐Ÿ‘‹ I'm Chintan B. Maniyar!

  • ๐Ÿ”ญ Currently working on: Global Water Quality Analysis using Remote Sensing (CyanoHABs, Salinity, TSS Modeling)
  • ๐ŸŒฑ Currently learning: Deep learning, Computer Vision, NLP and Geography.
  • ๐Ÿ‘ฏ Looking to collaborate with AI/ML/DL and/or Water Quality enthusiasts in the Remote Sensing Community.
  • โšก My Interests: Biophysical Modeling, Satellite Image Processing, Machine/Deep Learning, NLP, Google Earth Engine, Environment Conservation, Astronomy โœจ
  • ๐Ÿ“ซ How to reach me: Mail or LinkedIn

codeSTACKr.com codeSTACKr | YouTube codeSTACKr | LinkedIn codeSTACKr | Instagram

cyanokhoj's People

Contributors

anand-nakat avatar chintan2108 avatar imgbotapp avatar jsbhagiya avatar rahulparmani avatar srinija301 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cyanokhoj's Issues

Fix Frontend List View for list of locations and tweets

  • For the list of tweet locations and the list of tweet links, the columns contents are contiguously overflowing from one to another

  • This results in a list item broken down - a part of it as last element of nth column and the remaining part as the first element of (n+1)th column

  • This also causes mismanagement of URLs

  • List Issue 1
    list_issue_1

  • List Issue 2
    list_issue_2

  • Fix the issue and prevent the breaking down of list items

User Registration and Database Connectivity

  • Currently the users are static and there is no database connectivity
  • Develop a registration form for new users
  • Ask for full name and email id
  • Set email id as username and ask for password
  • Verify user email by url (Prevent login unless verified)
  • Store user details in the database
  • Sign in with Google (OAuth2)

Flag/Remove tweets with invalid locations

  • Currently the tweets are being filtered using a specific set of keywords
  • However, not all filtered tweets have valid locations - a few of them sometimes have invalid locations such as "Earth" etc. These cannot be geocoded correctly and can result into a false potential CyanoHAB location. To solve this issue update this file.
  • Identify tweets with such invalid locations and flag them

  • Attempt retrieving correct locations from the flagged tweets and report the results

  • NOTE: This issue is congruent with issue #8. All changes here should be reflected in this file as well.

Not able to enter the password field - Bug

  • Currently on the login page the focus is always set on the username field
  • Because of this, when the user clicks on the password field, it again goes back to the username field
  • Input can be entered in the password field only by using 'Shift' button in the keyboard to navigate to the password field as this does not toggle the focus flag.
  • Fix the bug for focus always on username

Update RTDBMS to Firebase

  • Currently website hosted on GCP vm
  • No database configured for now
  • Refer to this MySQL schema and imitate the same in Firebase
  • Connect the Firebase db with GCP vm (where CyanoKhoj is hosted) as RTDBMS

Add functionality to close vertical dropdown on clicking outside of it

  • Currently the vertical dropdown (containing the internal links and logout button) closes only when clicked on the 'x' or the 'close' option
  • Add functionality to close it, when there is a click anywhere outside the dropdown

  • Add a slide out from side or slide down from top as it opens

  • Add a slide in to side or slide up to top as it closes

Fix icon for show/hide password toggle - Bug

  • Currently the show/hide password icon does not toggle - even when clicked to show the password, the icon remains the same instead of a crossed eye

image

image

  • Fix the bug by adding toggle icon logic on click events to toggle between show/hide password

Create a modal for user profile information

  • There is a link for User Profile in the vertical dropdown
  • Create a modal that would pop up on clicking that link

  • The modal will contain user profile information

  • The background (everything behind the modal) should either be dimmed or blurred - you can use z-index or animation

  • Clicking anywhere outside the modal should close it

  • The modal should also have a X symbol or a 'Close' button for closing it

Add new keywords for tweet filtering

  • Currently the tweets are being filtered using a set of keywords
  • Update that set of keywords in the tweet_tracker.py file with the one below:
    BlueGreenAlgae, CyanoBacteria, cyanotracker, anabaena, microcystis, cyanotoxins, toxic algae, algae bloom, algal bloom, '#CyanoBacteria', '#AlgaeBloom', '#CyanoBacteriaBlooms', '#CyanoHABs', '#HABs'

Have a 404 page when site is not reachable

  • Currently no 404 page is available in case site is down or unreachable
  • A similar error routing has been done in PR #35 in case of db fault
  • Create a 404 error page for whenever site is unreachable

Create dummy login credentials for Demo

  • Currently website configured for a live database
  • It is not possible to have a demo of the website with static dummy credentials
  • Create dummy credentials for login purpose
  • Restructure database fetch requests - void any such requests in case of login with dummy credentials
  • Update the readme with the new login information
  • Link the fix of this issue with issue #43

Add NLP based analysis for Tweet Scraping in the ReadMe

  • CyanoKhoj will refine its NLP based approach as mentioned in issue #9
  • Conduct experiments using metrics of WMD, Relaxed WMD, Cosine similarity, soft cosine similarity
  • Perform a comparative analysis of all metrics for relevant and effective tweet filtering
  • Update the readme with various distance metric comparisons and their inferences
  • Once this issue is closed, then only proceed to issue #9

API and request management on GCP

  • Employ an algorithm similar to page ranking, to manage simultaneous webapp calls to the GCP vm and the consequent API calls for the Google map to avoid timeouts.

Embed tweets within the homepage

  • Currently links are being provided to relevant tweets (see snapshot)

links

  • Find a way to embed these tweets within the webpage (all tweets together in a single stream) instead of the user having to click on the link and open a new webpage

Use NLP to better filter tweets based on keywords

  • Currently the words are being filtered using keyword matching Code here
  • This approach simply looks for the exact keywords in the tweets and filters them
  • It is always possible that some tweets may contain some keywords which might have a similar meaning to algae bloom (such as eutrophication) but are not the exact same
  • Such tweets while important are not filtered and instead missed out
  • Use NLP and word embedding concepts to process the tweet content and find similarity with the keywords so that the tweets having words which have similar meaning to keywords but are not exact keywords are not missed out

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.