Giter VIP home page Giter VIP logo

fake-post-injector-backend's Introduction

What does this project do

django, sqlite3 based backend system for a google chrome extension that performs fake post injection in Facebook timeline and then conducts a survey on user experience.

SCREENSHOTS

Screenshots of the chrome extension that this backend system is a part of:

The front end exists in a different repository https://github.com/ishanguliani/fake-post-chrome-extension

This is how the fake chrome extension looks when installed

This is how the fake chrome extension looks when installed

These are sample injected fake posts


Screenshots of the backend panel where you can upload your fake post models

Screenshots of the survey that the user takes after going through fake posts - this is all supported by the current python code

REQUIREMENT

To fire up the server have python3 and pipenv installed.

open terminal and cd to the project root directory

start virtual environment

pipenv shell

install dependencies

pipenv install

set up database locally

python3 manage.py makemigrations 
python3 manage.py migrate

set up static files locally

python3 manage.py collectstatic

start the server

python3 manage.py runserver

Endpoints

Welcome screen: 127.0.0.1/
Admin panel: 127.0.0.1/admin
The survey: 127.0.0.1/surveyLinks/0/0

fake-post-injector-backend's People

Contributors

aneesh-joshi avatar ishanguliani avatar reidcampolong avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

fake-post-injector-backend's Issues

Tracking URL clicks for all links

Currently there is no way to track if the user clicked on a particular link while scrolling their FB timeline. The only time click tracking happens is when the user is asked if they clicked a particular link while taking the survey.

The proposed solution is to have the user click on a shortened proxy link so that the clicks can be counted. For instance, https://www.youtube.com/hhf987hhfd will be replaced with https://seng-research.com/trackClick/ and a counter is incremented when the bounce happens.

We should do this for both fake awa genuine link types

Generate report for link clicks

For all link user interactions happening while scrolling the extension, generate the following reports in real time -

Report showing user interaction summary

User Total # links seen so far Total # links clicked so far
Ishan Guliani 25 4
John Fletcher 12 0
Max Dean 50 17

Report showing user-link-click interaction

User Link (actual link user would route to if clicked) Clicked on link_type original link replaced Clicked? (Y for yes) # clicks on this link
Ishan Guliani https://www.bbcnews.com https://seng-research.com/jkhfdjk genuine - Y 1
Ishan Guliani https://www.newsusa.com https://seng-research.com/aweoivl fake something.com Y 2
Ishan Guliani https://www.africanews.com https://seng-research.com/kljadsnl fake something.com NO 0
John Fletcher https://www.youtube.com?video=dfcj897he1jfbkdvjyv9 https://seng-research.com/cxcsfbg genuine - Y 1

TODO

  • Add a new section in the admin panel called Reports which will contain the above mentioned 2 reports namely -
    • Real time click counts (showing how many links the user has seen or clicked in a session)
      • user - number of links seen - number of links clicked
    • User link interaction report (showing what links the user was presented and what he did with them)
      • user - link type (genuine/fake) - link url - original link url (for links of type fake) - link short url - link_clicked (boolean) - number of times clicked
  • Add 3 new fields to the existing LinkModel
    • is_clicked_event_from_ground_data (this field will be set to true when the user clicks on the link during the facebook session).
      NOTE: this is different from the existing field is_clicked in LinkModel which denotes the link clicks from the user's self reported survey data. As discussed, the idea here is to keep these two pieces of information different to be able to draw more conclusions on the disparity between the ground and reported data in the future which is a little misty for now.
    • is_clicked_event_from_ground_data_time (this field will record the time of when the above event took place)

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.