Laravel Stats v2.3 - Behind the Scenes
This article has been published a while ago.
If this is a technical article some information might be out of date. If something is terribly broken, let me know and I will update the article accordingly.
Earlier today I've released Laravel Stats v2.3.
The big thing in this release is a new "share" feature which I would like to explain further in this post and give you a look at what happend behind the scenes.
A little back story #
Back in 2018 Jason McCreary, the creator of Laravel Shift, gave a talk at Laracon US called "Laravel by the Numbers". (A written version is available on his website.)
In it, he highlights which packages are installed the most in Laravel applications, if developers use a custom folder structure or which Eloquent Relationships is used the most. Pretty cool.
In the talk, he mentions the stats package and shows data he collected with it through Shift.
I remember we exchanged messages through Twitter, that it would be great to have a public dashboard for this data. It could help the Laravel community in making decision to adopt a certain feature or could be interesting in general.
We both had other things going on in our lives. We did not pursue this idea further.
Last year I've built a Laravel Downloads Statistics-dashboard "thing", as I wanted to know if the stats package should support older Laravel versions. It reminded me once again, that a dashboard with such data is a cool and fun project.
The current year #
Fast forward 2 years. In May 2020 Jason reached out to me and we talked about this stats dashboard again.
After a bit of brainstorming we came up with an idea on how to collect that data and build the metrics dashboard.
We've built a new optional --share
flag to the package, which will make an API request to Shift with the statistics-data of the project.
For both of us it was important to make this an optional feature and not force it upon everyone. In addition, the data sent will never contain the code of a project. It will always only contain statistical numbers like "lines of code" or "number of routes". (I couldn't sleep at night, if I would have built a package that steals the code of others. Not in my house! 🙅)
Live Streams #
As both Jason and I did work on this feature, we've decided to share our work in live streams on YouTube (Stream 1, Stream 2).
It was the first time I ever was on a live stream. I was nervous as hell before we went live the first time, but I had a lot of fun! I'm considering buying better equipment to live stream more in the future. Putting myself out there and write code live on a thing triggered something in me. It was pretty cool to see how others helped us in the chat or gave feedback.
Building software and sharing knowledge more publicly is something I want to pursue further. Similar to what the good folks at uberdosis.io are doing.
The next steps #
The metrics dashboard is now live and periodically updates itself with fresh data. You can check out it out on stats.laravelshift.com.
A big thanks to all developers contributing to the community statistics! ♥️
If you want to contribute too, head to the documentation and start sharing. There's even a GitHub Action Workflow to automate the step.