TweetMap
A real time Tweet Trend Map and Sentiment Analysis web application with kafka, Angular, Spring Boot, Flink, Elasticsearch, Kibana, Docker and Kubernetes deployed on the cloud
Install / Use
/learn @zmyzheng/TweetMapREADME
Tweet Map with Trends
- Build a
javaTweet Collector to collect real-time tweets with Twitter Streaming API - Push collected tweets to
Kafkacluster - Utilize
Apache FlinkStreaming to process (parse, filter and tranform) tweets - Ingest processed tweets to
Elasticsearchfor data persistance and index - Develop
SpringBootRESTful API serverto query tweets from Elasticsearch - Visualize real time tweet trends with Frontend
Angularweb application - Show Geographical Tweet Heat Map with
Kibana - Create
Dockerimage and deploymicroservicestoKubernetescluster


Project structure
-
tweet-collector: collect real-time tweets with Twitter Streaming API and push to Kafka cluster.
- To support other social media, implement SocialMediaCollector interface.
- To support other message queues, implement Sinkable interface.
-
rest-api-server: A RESTful API server querying tweets from Elasticsearch using SpringBoot framework.
-
flink-processor: Streaming process tweets and ingest into Elasticsearch.
-
frontend-website: Visualize Tweet Map with Angular framework. (developing)
Build
JDK version:
- master branch and dev-jdk11 branch: JDK 11
- dev-jdk8 branch: JDK 8
./gradlew :tweet-collector:clean :tweet-collector:build :tweet-collector:dockerPush
java -jar tweet-collector/build/libs/tweet-collector-1.1-SNAPSHOT.jar
./gradlew :flink-processor:clean :flink-processor:build
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
prose
345.4kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
claude-opus-4-5-migration
104.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
104.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
