Flutter App Build for the machine Learning model which shows sentiments of instagram user by analysing their captions

Overview

InstaKnow

Front-end By @ketanchoyal

Back-end By @namas191297

Front-end Application

Flutter application that allows user to analyze sentiments of other users based on their captions. This application uses a Machine Learning NLP approach to analyze captions and provide positive, negative and neutral scores as the output.

The flutter application uses Provider + Get_it for State Management.

MVVM(Model-View-(View)Model) Architecture has been used.

Note: In About Page url for server can be changed (because of free version URL may change after some time)

Screenshots

HomeScreen

Home_Screen

App UI Demo

App_UI

Public Profile Analyzer

Analyzer

Private Profile Analyzer

PAnalyzer

Example

Example

Back-end

InstaKnow is an open-source mobile application that allows you to analyse the sentiments of public and private profiles based on their post captions.

This repository is the backend/REST API for the application, where all requests from the application are received in the form of a JSON object. After the sentiment analysis is done, and the sentiments are evaluated, these results are sent in the form of JSON back to the application, where they are displayed.

The backend has been made in python, where the REST API is served as a Flask web-application. The web-application can be hosted temporarily using ngrok or any other viable option.

The ML implementation is that of NLP (Natural Language Processing), where the captions are analysed using the Vader Sentiment Analysis library. Scores are received in the form of positive, negative, neutral and compound values, after which their mean is sent back to the front-end application where they are displayed.

Public profiles do not require any authentication although if you want to view the sentiments of a private profile, you must provide credentials for an account that can access that private profile (follows it) for authenticated access in order to extract the captions.

JSON

As mentioned above, this repo is a REST API that communicates using JSON objects.

JavaScript Object Notation (JSON) is an open-standard file format that uses human-readable text to transmit data objects consisting of attribute?value pairs and array data types (or any other serializable value). It is a very common data format, with a diverse range of applications. Such as serving as replacement for XML in AJAX systems.

An example:

{
  "squadName": "Super hero squad",
  "homeTown": "Metro City",
  "formed": 2016,
  "secretBase": "Super tower",
  "active": true
}

Data Format

The format in which data is transferred can be seen as follows:

Application to Server :

  • Public profile
{
  "type":"Public",
  "login_id":"some_public_username"
}
  • Private profile
{
  "type":"Private",
  "login_id":"some_private_username",
  "login_username":"username_for_authentication",
  "password":"password_for_authentication"
}

Server to Application:

  • Success:
{
  "type":"Success",
  "Value":result,
  "Picture":profile_picture_link,
  "Name":full_name_of_profile
}
  • Fail:
{
  "type":"Fail",
  "Value":error_message,
}

Installation and Execution

Download or clone the repository in a directory and cd into folder containing the file app.py.

  • Set the FLASK environment variable FLASK_APP to the name of the python file as follows in the terminal (for Windows):
set FLASK_APP=app.py 
  • Run the flask app using the following command:
flask run 

Prospective Changes

  • Adding encryption to ensure user security while analyzing private profiles

  • Analysis based on comments of other followers on the user's posts

  • Permanent deployment as a web-service on platforms like AWS instead of using ngrok.

  • Checking policies and ensuring that publishing this application to the playstore/appstore should not cause instagram policy-violation due to web-scraping.

You might also like...

Instagram-clone - Instagram clone built using flutter and Firebase

Instagram-clone - Instagram clone built using flutter and Firebase

Instagram-clone statistics of Firebase usage User Authentication for Instagram l

Jul 18, 2022

It is a Mobile Application built with Flutter to help Instructors reach their students with the material needed for their course (Videos, PDFs, Exams)

It is a Mobile Application built with Flutter to help Instructors reach their students with the material needed for their course (Videos, PDFs, Exams)

Droos - Flutter Mobile Appliction It is a Mobile Application built with Flutter to help Instructors reach their students with the material needed for

Oct 5, 2022

A platform for car sharing where users can book any car that suits their needs and wants for their intended journey, from the closest hosts in the community.

A platform for car sharing where users can book any car that suits their needs and wants for their intended journey, from the closest hosts in the community.

Getting Started This project is a starting point for a Flutter application. For help getting started with Flutter, view our online documentation, whic

Apr 29, 2022

Flutter-e-learning - E-Learning Application Built With Flutter

Flutter-e-learning - E-Learning Application Built With Flutter

E-Learning Demo Screens Explore Planner Overlay Videos Leaderboard Global Leader

Dec 27, 2022

The ArDrive Web App allows a user to log in to securely view, upload and manage their ArDrive files.

ArDrive Web The ArDrive Web App allows a user to log in to securely view, upload and manage their ArDrive files. Have any questions? Join the ArDrive

Dec 14, 2022

This is a Flutter app which shows how to use the PageView Class in your Flutter App

page_view_class A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Oct 25, 2021

This is a Flutter app which shows how to use the Selectable Text in your app

selectable_text A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Oct 25, 2021
Owner
Ketan Choyal
iOS/Android App Developer 📱 Flutter + Native https://sourcerer.io/ketanchoyal
Ketan Choyal
Academic master is E-learning app where students can share their doubts wiith their peers they can chat and also they can find their notes

Academic Master is E-learning App. Features:- 1) You can post real Post query in Images and video formates. 2) We will Provide notes,books and previou

amit singh 25 Dec 14, 2022
Learn how to build a tensorflow model on Techable Machine and then run it on flutter app.

Ml With Flutter Learn how to build a tensorflow model on Techable Machine and then run it on flutter app. Youtube Tutorial Show Support Recommend Me O

Sanskar Tiwari 133 Jan 3, 2023
Find The Latest trending and upcoming movies and tv shows with MovieDB app. The app contains all info about movies and tv shows. find similar movies or shows, Browse all genres, video trailers, backdrops, logos, and posters.

MovieDB App Features. Dynamic Theming Search Functionality Onboarding-Screen Select favourite movie Home Screen Tranding movie Movies different catego

Ansh rathod 80 Dec 12, 2022
-UNDER DEVELOPMENT- a project built demonstrating model view view model architecture

mvvm_project A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Atuoha Anthony 4 Nov 28, 2022
An app for analysing sound waves and building sounds from a visual sound wave graph

Wave This app was built for the Science Talent Search Victoria 2022. UPDATE: This project won a minor bursary prize in the Computer Programs category

William Herring 7 Dec 20, 2022
App for visually impaired using Machine Learning, Artificial Intelligence, and Flutter.

Your Eyes ?? Introduction Our Application aims to bridge the gap between them and the visual world by Deep Learning and lucid User-Interface for easy

Jatin Yadav 5 Dec 9, 2022
A Machine Learning App for an Age-Old Debate. Coming April 1st 2019.

Sandwhich Website | Twitter Sandwhich is a mobile app built to solve the sandwich debate by determining if the picture you've taken is a sandwich usin

null 140 Dec 28, 2022
Responsive Scaffold - On mobile it shows a list and pushes to details and on tablet it shows the List and the selected item. Maintainer: @rodydavis

responsive_scaffold View the online demo here! On mobile it shows a list and pushes to details and on tablet it shows the List and the selected item.

Flutter Community 346 Dec 2, 2022
An extension to the bloc state management library which lets you create State Machine using a declarative API

An extension to the bloc state management library which lets you create State Machine using a declarative API

null 25 Nov 28, 2022