Release v1.0
https://github.com/marcelmaatkamp/steemit-data-analysis-platform/releases/tag/1.0
I hereby release the first version of my project where I ingest Steem data in JSON format, put it in RabbitMQ via and ingest the data via java Spring Boot into Neo4j where I can query the data to find interesting patterns. I focussed for the first version on the votes coming from Steem to analyse who is voting on what and made a screenshot available to show the first results of what I found in the data.
I do all this in my spare time so I hope that I can find some time to add more domain objects and make more sense of the data produced by the Steemit platform.
Documentation I added in this initial release:
- Installation
- Documentation on how/to ingest and display data
- Added urls for external resources and
- Screenshots added showing patterns in the data ( and thus mission v1.0 accomplished!)
The code so far:
- is a fully working version
- has examples in src/scratchbook
- contains unit and integration tests and queries in src/test/java
- contains a dockerfile and has
- docker-compose file added to bootstrap the project
Once the ingest is running Neo4j can be queried to find patterns in the data:
(The green nodes are "Authors", red nodes are "Voters" and grey nodes are "posts")
Plans to enhance this project could be:
- To make the data accessible and interactive via a web-interface
- Generate a docker container with this project and
- Instantiate a working version on a platform like "Heroku".
Its a pity Steem does not let a author include interactive elements in its posts.
Prerequisites
To run this project the system needs the following locally installed:
- docker and
- docker-compose
Installation
Start the whole stack with just these 4 statements:
$ # Start proxy rabbitmq and neo4j services
$ git clone https://github.com/marcelmaatkamp/marcelmaatkamp/steemit-data-analysis-platform.git &&\
cd marcelmaatkamp/steemit-data-analysis-platform &&\
docker-compose up -d socksproxy rabbitmq neo4j
$ # Start the live data stream from steemit into rabbitmq
$ RABBITMQ_HOSTNAME=rabbitmq \
RABBITMQ_EXCHANGE=steemit.api \
STEEMIT_ACCOUNT_NAME=<OUR_STEEMIT_NAME> \
STEEMIT_ACCOUNT_ACTIVE_KEY=<YOUR_STEEMIT_ACTIVE_KEY> \
docker-compose up steemit-live-data
$ # Ingest data from rabbitmq into neo4j
$ steemit_account_name=<STEEM_USERNAME> \
steemit_account_postkey=<STEEM_POSTKEY> \
steemit_account_activekey=STEEM_ACTIVEKEY> \
docker-compose up --build steemit-database
Proxy
Set your browser proxy settings to connect to the services rabbitmq and neo4j via the following url:
socks5://localhost:9050`
RabbitMQ
Once the proxy is installed goto http://rabbitmq:15672 and login with username guest
and password guest
. The created exchange is steemit.api
and the queue is steemit.api.votes
.
Neo4j
Once the proxy is installed goto http://neo4j:7474 and query the database and generate beautiful screenshots :)
Issues
Have fun and please contribute or report issue's in Github on
https://github.com/marcelmaatkamp/steemit-data-analysis-platform
Posted on Utopian.io - Rewarding Open Source Contributors