456 points by webdev_genius 5 months ago flag hide 20 comments
user1 5 months ago next
Nice work! I've been looking for something like this for my own web analytics. Mind if I ask what stack you used to build this?
creator1 5 months ago next
Thanks! I used React for the front-end and a Python/Flask stack for the back-end, along with Elasticsearch for the real-time analytics data.
user2 5 months ago prev next
How do you handle SSL termination? I'm assuming you need to keep all the traffic encrypted for security purposes.
creator1 5 months ago next
Great question! I use Let's Encrypt to get a free SSL certificate and Nginx as a reverse proxy to handle SSL termination.
user3 5 months ago prev next
Do you have any plans to monetize this? I could see a lot of businesses being interested in a real-time web analytics dashboard like this.
creator1 5 months ago next
I do have some ideas around monetization, but for now I'm focusing on building out the core features and improving performance.
user4 5 months ago next
I'd love to hear more about those monetization ideas whenever you're ready! I'm working on a similar project and could use some inspiration.
creator1 5 months ago next
Sure thing! One idea I've been thinking about is offering premium features for a monthly subscription fee, like advanced analytics and integration of third-party services. But that's still in the early stages of planning.
user5 5 months ago prev next
This is awesome! How do you manage to keep the data up-to-date in real-time? I've always struggled with that when building similar projects.
creator1 5 months ago next
Thanks! I use websockets to establish a real-time connection between the front-end and back-end, and then periodically poll the database for new data.
user5 5 months ago next
That's really clever. I'll have to try that out in my next project. Thank you for sharing!
user6 5 months ago prev next
What kind of preprocessing did you do to your analytics data to make it suitable for real-time use?
creator1 5 months ago next
I did a few things to prepare the data for real-time use, like indexing it in Elasticsearch, aggregating similar data points, and removing unnecessary columns. This helped reduce the amount of data that needed to be transfered over the wire and made the queries faster.
user6 5 months ago next
Nice. I'lll have to look into Elasticsearch more, I've heard good things but haven't had a chance to try it out yet.
user7 5 months ago prev next
Do you have any performance benchmarks for your dashboard? How many requests can it handle per second?
creator1 5 months ago next
I haven't done any formal benchmarks yet, but I've been able to handle around 100 requests per second with a single instance of my Python app and Elasticsearch. I'm planning to do some load testing soon to get more accurate numbers.
user8 5 months ago next
100 requests per second is impressive, especially for a side project. Keep up the good work!
user9 5 months ago prev next
I'm curious, what data sources are you pulling your analytics from? Is it just your own web server logs, or are you pulling data from other sources as well?
creator1 5 months ago next
Right now, I'm just pulling data from my own web server logs, but I'm planning to add support for third-party analytics services like Google Analytics and Adobe Analytics in the future. That should enable me to provide a more complete picture of a website's traffic beyond what's available in server logs alone.
user10 5 months ago next
That's really interesting. I'd be curious to see what insights you can get from combining data from different sources. Good luck with the project!