Meetup.com data analysis and visualization on Kinetica platform
This project is fully described in the articles which can be found online.
We are focusing on these main topics:
- Running the DB and injesting the data into it using python backend
https://www.kinetica.com/blog/analyzing-meetup-rsvps-kinetica-part-one/ - Doing analysis using Kinetica Reaveal and how to build dashbaord
- Showing the data in our own JavaScript (React) app using KineticaDB API and Kickbox.js library
You can check out this video describing the the project structure and how to run it:
https://youtu.be/1bMdZYdDnRo
- Install docker and docker-compose
- Clone this repo
- Edit
docker-compose.yml
and fill in license key (grab one here) - Run docker containers
docker-compose up -d
- You can check Kinetica Admin Page on
localhost:8080
withadmin
as a username and password - You can check Kinetica Reveal page on
localhost:8088
withadmin
as a username and password
- Make sure you have Node.js and Yarn installed
- Setup required packages
cd react-frontend && yarn
- Start the page on
localhost:3000
byyarn start
In docker-compose.yml
file you can find two services. One is for running the DB itself. And one is for running or python code which connects to the meetup.com API and injests the data into the DB.
In config file kinetica-backend/docker/kinetica.dockerfile
you can see how easy is to run Kinetica DB in the docker. There is extra folder called dashboard
. This folder has already prepared Kinetica Reveal dashboard files together with the scripts for the import. When you start the docker backend it automatically inserts this dashboard into your Reaval, which you can find on url localhost:8088. In case you are intrested how you can build such dashboard youself head over to our second article.
In config kinetica-backend/python-backend/python.dockerfile
you can see pretty standard Python container. Based on requirements.txt
you can see that we import the Kinetica python API library for inserting the data which is done using the files in that folder. Each file should be commented. If you are intrested in more about this topic be sure to read our first article which describes how to import your data into the DB.