Skip to content
This repository was archived by the owner on Jan 29, 2026. It is now read-only.

compact-disc/GuardianAngel

Repository files navigation

Guardian Angel

An online tool to analyze your Twitter activity and visually report the results to you.

Version: 1.0.0


The Problem

With the fast-paced, evolving, and dynamic environment of social media use today user’s privacy is a major concern. Social media is currently flooded with notifications that do not monitor user’s online privacy. Social media platforms do not have a system in place to watch over the user’s activity internally or externally. In the case a post gathers substantial attention and the user is unaware of this; it can lead to significant implications that were unintentional. This is especially important to users with a large following. There is no built-in service on social media that currently checks for keywords, interactions or excessive popularity beyond regular user activity. Therefore, the risk of users losing control of their own online privacy is quite steep.

The Solution

The solution in theory is quite simple. Create an external monitoring and logging service to audit user activity regularly. This service will collect user data and put it against a dictionary of predefined phrases or words that could negatively impact a user. It will also collect statistics on individual posts, i.e., external user interaction, post statistics, post origins, etc. Data collected will be used to monitor irregularities that will be then sent to the user unlike standard notifications that are used internally by social media platforms.


Languages

  • Java
  • HTML
  • CSS
  • SQL

Libraries/Frameworks

  • Twitter4J
    • Collect Twitter data.
  • Stanford Core NLP
    • Analyze Tweets for sentiment.
  • XChart
    • Create user facing graphs using Tweet data.
  • Cloudinary
    • Upload and host user graph images.
  • Spring
    • Application framework to run on the Java platform.
  • Spring Security and Auth0
    • User authentication using social media login.
  • Thymeleaf
    • HTML template engine for Java and Spring.
  • MariaDB
    • Store user's Tweets for analyzing and displaying later.

Complete Documentation


Addtional Notes

  • The Stanford Core NLP models are not included as they are too large for GitHub. They can be found here.
  • Stanford Core NLP English models download.
  • API Keys for Twitter, Cloudinary, and Auth0 are removed.
  • Truncated SQL file "guardian_angel.sql".

Demo Notes

User Side:

Initially users are brought to the Auth0 login page when first logging into the site. Next, they are directed towards Twitter's OAuth login page to sign in with Twitter and authorize the Guardian Angel application if they have not used it before. After login, the user is brought to the home page. Displayed on the index is a quick disclaimer and a navigation bar at the top. The index includes a button to pull the user's data however there is also one located in the View Tweets page. From the View Tweets page the users can view 4 different categories of data. They will be able to view their Timeline, Likes, Retweets, and Mentions. Each has a table and graphs with it. Guardian Angel even has a button to delete data. This removes all their Tweet and image data stored. Users are also removed from totals stored in the site as well. Located on the site is also a small FAQ page for new users who would join the site.

Administrative Side:

A small administration page for authorized administrators to view and do a few extra things along with a test button that can be setup to test new functions on the site. Another option to pull data of other public users on Twitter and an option to add additional administrators. The entire Tweet database is shown for the administrators along with graphs that represent all tweets in the database for each category. The same categories are shown for the administrative view Timeline, Likes, Retweets, and Mentions.


Live Demo Video - Click to View

demovideo


Live Demo Images

Auth0 Login Page

auth0login

Index of the Site

index

Viewing Tweets

viewtweets1

viewtweets2

Twitter OAuth Sign in

twittersignin

Administration Page

admin

User Graph Examples (Generated using XChart)

graph1

graph2

About

A Spring Boot application that gathers and analyzes Twitter data

Resources

Stars

Watchers

Forks

Contributors