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
Your contribution cannot be approved yet. See the Utopian Rules. Please edit your contribution to reapply for approval.
Please update and include install package suggestion for prerequisites. ex:
sudo apt-get install docker-compose
Also instruct on how to set the account variables
You may want to remove hard coded named volume
You may edit your post here, as shown below:
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Excellent suggestions! I will make an even better installer in the form of a docker-container of this application pushed automatically to the docker hub after each release so that a user doesn't even need to have all the build-tools in the form of gradle and java available on his or her system, only docker and docker-compose are needed to run every aspect of this setup.
I will modify the documentation accordingly and I will add screenshots on how to get and set the environment variables needed to connect to the steem network.
Thanks for evaluating!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey @helo, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you for the contribution. It has been approved.
I'm looking forward to the updates.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@helo: Added the explanation how to install with just docker and docker-compose and removed the volume, seems to install and run fine now, thanks for the help!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey @marcelmaatkamp I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://github.com/marcelmaatkamp/steemit-neo4j-data-analysis-platform
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit