All Projects → kbastani → Sentiment Analysis Twitter Microservices Example

kbastani / Sentiment Analysis Twitter Microservices Example

Licence: apache-2.0
A sample application that demonstrates how to build a graph processing platform to analyze sources of emotional influence on Twitter.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Sentiment Analysis Twitter Microservices Example

Azure Spring Boot
Spring Boot Starters for Azure services
Stars: ✭ 352 (+682.22%)
Mutual labels:  spring-data, spring-boot
Hibernate Springboot
Collection of best practices for Java persistence performance in Spring Boot applications
Stars: ✭ 589 (+1208.89%)
Mutual labels:  spring-data, spring-boot
Testcontainers Spring Boot
Container auto-configurations for spring-boot based integration tests
Stars: ✭ 460 (+922.22%)
Mutual labels:  neo4j, spring-boot
Spring Boot Spring Security Jwt Authentication
Spring Boot + Security: Token Based Authentication example with JWT, Authorization, Spring Data & MySQL
Stars: ✭ 292 (+548.89%)
Mutual labels:  spring-data, spring-boot
Spring Streaming
SPA on Spring Boot 1.x, WebSockets and React, gradle, nodejs, spring-boot, gradle multi project, spring-mvc, spring-data, gradle dependency update plugin, react-router
Stars: ✭ 6 (-86.67%)
Mutual labels:  spring-data, spring-boot
Atom
Java course materials
Stars: ✭ 293 (+551.11%)
Mutual labels:  spring-data, spring-boot
Spring Boot Tutorial
100+ Spring Boot Articles, Tutorials, Video tutorials, Projects, Guides, Source code examples etc
Stars: ✭ 482 (+971.11%)
Mutual labels:  spring-data, spring-boot
Graph Data Science
Source code for the Neo4j Graph Data Science library of graph algorithms.
Stars: ✭ 251 (+457.78%)
Mutual labels:  graph-algorithms, neo4j
Neo4j Graph Algorithms
Efficient Graph Algorithms for Neo4j
Stars: ✭ 713 (+1484.44%)
Mutual labels:  graph-algorithms, neo4j
Spring Data Neo4j
Provide support to increase developer productivity in Java when using Neo4j. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access.
Stars: ✭ 662 (+1371.11%)
Mutual labels:  spring-data, neo4j
blogs
Jupyter notebooks that support my graph data science blog posts at https://bratanic-tomaz.medium.com/
Stars: ✭ 153 (+240%)
Mutual labels:  neo4j, graph-algorithms
Spring Reactive Sample
Spring 5 Reactive playground
Stars: ✭ 867 (+1826.67%)
Mutual labels:  spring-data, spring-boot
networkx-neo4j
NetworkX API for Neo4j Graph Algorithms.
Stars: ✭ 98 (+117.78%)
Mutual labels:  neo4j, graph-algorithms
Angularjs Springmvc Sample Boot
A RESTful sample using Spring Boot, Spring MVC, Spring Data and Angular/Bootstrap.
Stars: ✭ 309 (+586.67%)
Mutual labels:  spring-data, spring-boot
graphcountries
An easy to use GraphQL API to query country-related data for free and without restrictions
Stars: ✭ 61 (+35.56%)
Mutual labels:  neo4j, graph-algorithms
Celerio Angular Quickstart
Generate an Angular 5 CRUD application from an existing database schema (we provide a sample one)
Stars: ✭ 483 (+973.33%)
Mutual labels:  spring-data, spring-boot
Neo4j Apoc Procedures
Awesome Procedures On Cypher for Neo4j - codenamed "apoc"                     If you like it, please ★ above ⇧            
Stars: ✭ 1,291 (+2768.89%)
Mutual labels:  graph-algorithms, neo4j
Kglab
Graph-Based Data Science: an abstraction layer in Python for building knowledge graphs, integrated with popular graph libraries – atop Pandas, RDFlib, pySHACL, RAPIDS, NetworkX, iGraph, PyVis, pslpython, pyarrow, etc.
Stars: ✭ 98 (+117.78%)
Mutual labels:  graph-algorithms, neo4j
Microservices Event Sourcing
Microservices Event Sourcing 是一个微服务架构的在线购物网站,使用Spring Boot、Spring Cloud、Spring Reactor、OAuth2、CQRS 构建,实现了基于Event Sourcing的最终一致性,提供了构建端到端微服务的最佳实践
Stars: ✭ 657 (+1360%)
Mutual labels:  neo4j, spring-boot
Angular Spring Data Rest Sample
Spring Boot based sample project for the https://github.com/guylabs/angular-spring-data-rest Angular module.
Stars: ✭ 18 (-60%)
Mutual labels:  spring-data, spring-boot

Sentiment Analysis Twitter Microservices Example

A sample application that demonstrates how to build a graph processing platform to analyze sources of emotional influence on Twitter. A guided tutorial is provided with this sample project.

This repository is actively being worked on and has not yet transformed into its final state. Please check back periodically to see updates. If you have trouble running the example, please post to the issue tracker.

Architecture

The diagram below shows each component and microservice as a part of this sample application. The connections are communication points between each service, describing what protocol is used.

Twitter Crawler Architecture Diagram

The two Spring Boot applications that are colored in blue are stateless services. Stateless services will not attach a persistent backing service or need to worry about managing state locally.

The Spring Boot application that is colored in green is the Twitter Crawler service. Components that are colored in green will typically have an attached backing service. These backing services are responsible for managing state locally, and will either persist state to disk or in-memory.

The services colored in red are external APIs that are used to collect data and to run sentiment analysis and other natural language machine learning algorithms.

Spring Boot Services

  • Rank Dashboard
  • Discovery Service
  • Configuration Service
  • Twitter Crawler

Backing Services

  • Neo4j (BOLT)
  • RabbitMQ (AMQP)
  • Twitter API (HTTP)
  • Google Cloud Language API (HTTP)

Graph Processing Platform

Neo4j is a graph database that includes graph processing algorithms from a community plugin called APOC.

Graph Data Model

The graph data model in Neo4j will be created using the following diagram.

Twitter Graph Data Model

Sentiment Analysis

When Twitter data is imported, a user's tweets will be analyzed using the GCP Natural Language API.

Twitter Graph Data Model

Category

Categories will be inferred over time by analyzing the top ranked phrases and submitting the group of tweets as a document to GCP's classification API.

Twitter Graph Example Model

External APIs

To be able to run the example, you'll need to provide API authorization for both the GCP NLP API and Twitter Developer API.

  • Check out consumerKey and accessToken at the Twitter developer site
  • Check out GCP token authorization file at GCP developer documentation
  • Fill out Twitter properties on docker-compose.yaml
  • Add your GCP authorization to twitter-rank-crawler/credentials.json
  • Please do not check-in your private secrets to public GitHub!
  • Run mvn clean install -DskipTests in your terminal with Docker running
  • Run docker-compose up in your terminal console

License

This library is an open source product licensed under Apache License 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].