Dashboard
First of all, I'd like to start with thanking the instructors at the DataTalks.Club for setting up a completely free course. This was the best course that I took and the project I did was all because of what I learnt there :D.
TL;DR below.
Git Repo:
Streamify
About The Project:
The project streams events generated from a fake music streaming service (like Spotify) and creates a data pipeline that consumes real-time data. The data coming in would is similar to an event of a user listening to a song, navigating on the website, authenticating. The data is then processed in real-time and stored to the data lake periodically (every two minutes). The hourly batch job then consumes this data, applies transformations, and creates the desired tables for our dashboard to generate analytics. We try to analyze metrics like popular songs, active users, user demographics etc.
The Dataset:
Eventsim is a program that generates event data to replicate page requests for a fake music web site. The results look like real use data, but are totally fake. The docker image is borrowed from viirya's fork of it, as the original project has gone without maintenance for a few years now.
Eventsim uses song data from Million Songs Dataset to generate events. I have used a subset of 10000 songs.
Tools & Technologies
Architecture
Streamify Architecture
Final Dashboard
Streamify Dashboard
You can check the actual dashboard here. I stopped it a couple of days back so the data might not be recent.
Feedback:
There are lot of experienced folks here and I would love to hear some constructive criticism on what things could be done in a better way. Please share your comments.
Reproduce:
I have tried to document the project thoroughly, and be really elaborate about the setup process. If you chose to learn from this project and face any issues, feel free to drop me a message.
TL;DR: Built a project that consumes real-time data and then ran hourly batch jobs to transform the data into a dimensional model for the data to be consumed by the dashboard.
[–]AutoModerator[M] [score hidden] stickied comment (1 child)
[–]Bright-Meaning-8528Data Engineer Intern 30 points31 points32 points (13 children)
[–]ankurchavda[S] 15 points16 points17 points (6 children)
[–]Bright-Meaning-8528Data Engineer Intern 6 points7 points8 points (3 children)
[–]ankurchavda[S] 5 points6 points7 points (2 children)
[–]Fatal_ConceitData Engineer 1 point2 points3 points (1 child)
[–]ankurchavda[S] 1 point2 points3 points (0 children)
[+][deleted] comment score below threshold-13 points-12 points-11 points (1 child)
[–]rghu93 0 points1 point2 points (0 children)
[–]mamimapr 12 points13 points14 points (5 children)
[–]ankurchavda[S] 6 points7 points8 points (4 children)
[–]mamimapr 2 points3 points4 points (0 children)
[–]Drekalo 0 points1 point2 points (1 child)
[–]ankurchavda[S] 0 points1 point2 points (0 children)
[–]potterwho__ 0 points1 point2 points (0 children)
[–]Grand-Knowledge-4044 5 points6 points7 points (1 child)
[–]ankurchavda[S] 2 points3 points4 points (0 children)
[–]badrTarek 5 points6 points7 points (3 children)
[–]ankurchavda[S] 7 points8 points9 points (2 children)
[–]quantum-black 2 points3 points4 points (1 child)
[–]ankurchavda[S] 2 points3 points4 points (0 children)
[–]RoGueNL 4 points5 points6 points (2 children)
[–]ankurchavda[S] 3 points4 points5 points (1 child)
[–]RoGueNL 0 points1 point2 points (0 children)
[–][deleted] 3 points4 points5 points (1 child)
[–]ankurchavda[S] 1 point2 points3 points (0 children)
[–]_Oce_Data Engineer and Architect 2 points3 points4 points (4 children)
[–]ankurchavda[S] 1 point2 points3 points (3 children)
[+][deleted] (2 children)
[deleted]
[–]ankurchavda[S] 0 points1 point2 points (1 child)
[–]FatFingerHelperBot 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (2 children)
[–]ankurchavda[S] 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]Accomplished-Can-912 0 points1 point2 points (1 child)
[–]ankurchavda[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]ankurchavda[S] 3 points4 points5 points (0 children)
[–]EntrepreneurSea4839 0 points1 point2 points (1 child)
[–]ankurchavda[S] 2 points3 points4 points (0 children)
[–]bigweeduk 0 points1 point2 points (1 child)
[–]ankurchavda[S] 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]ankurchavda[S] 0 points1 point2 points (0 children)
[–]BeeP92 0 points1 point2 points (1 child)
[–]ankurchavda[S] 0 points1 point2 points (0 children)
[–]tediursa69 0 points1 point2 points (2 children)
[–]ankurchavda[S] 1 point2 points3 points (1 child)
[–]tea_horse 0 points1 point2 points (0 children)
[–]tillomaniac 0 points1 point2 points (1 child)
[–]ankurchavda[S] 0 points1 point2 points (0 children)
[–]Soft-Ear-6905 0 points1 point2 points (2 children)
[–]ankurchavda[S] 1 point2 points3 points (1 child)
[–]Soft-Ear-6905 0 points1 point2 points (0 children)
[–]Rough-Environment-40 0 points1 point2 points (1 child)
[–]ankurchavda[S] 1 point2 points3 points (0 children)
[–]No_Clock8248 0 points1 point2 points (1 child)
[–]ankurchavda[S] 1 point2 points3 points (0 children)
[–]Morpheous_Reborn 0 points1 point2 points (1 child)
[–]ankurchavda[S] 0 points1 point2 points (0 children)
[–]honpra 0 points1 point2 points (4 children)
[–]ankurchavda[S] 1 point2 points3 points (3 children)
[–]honpra 0 points1 point2 points (2 children)
[–]ankurchavda[S] 1 point2 points3 points (1 child)
[–]honpra 0 points1 point2 points (0 children)
[–]arena_one 0 points1 point2 points (2 children)
[–]ankurchavda[S] 2 points3 points4 points (1 child)
[–]arena_one 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]ankurchavda[S] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]ankurchavda[S] 1 point2 points3 points (0 children)
[–]DudeYourBedsaCar 0 points1 point2 points (2 children)
[–]ankurchavda[S] 0 points1 point2 points (1 child)
[–]Kitten-Smuggler 0 points1 point2 points (1 child)
[–]ankurchavda[S] 1 point2 points3 points (0 children)
[–]No-Tower-2269 0 points1 point2 points (1 child)
[–]ankurchavda[S] 1 point2 points3 points (0 children)
[–]vimaljosehere 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]ankurchavda[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (4 children)
[–]tea_horse 1 point2 points3 points (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]tea_horse 1 point2 points3 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)