paint-brush
DependenCI: Keep your Composer dependencies up-to-date for free!by@m1guelpf
880 reads
880 reads

DependenCI: Keep your Composer dependencies up-to-date for free!

by Miguel PiedrafitaMay 29th, 2017
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

<em>Originally published on </em><a href="https://miguelpiedrafita.com/dependenci/" target="_blank"><em>my blog</em></a>

Company Mentioned

Mention Thumbnail
featured image - DependenCI: Keep your Composer dependencies up-to-date for free!
Miguel Piedrafita HackerNoon profile picture

Originally published on my blog

The DependenCI Branding

DependenCI launched its public beta 12th of May of 2017 at 3:26 pm. At the time of this writing, it has been visited by more than 2k people, and more than 100 users have already tried it. So, how did all start?

The Idea

The idea came after recieving a pull request from Greenkeeper. For those who don’t know, Greenkeeper is a service that monitors your project’s npm dependencies, and sends a pull request every time a new version is released. I asked myself: ¿Why doesn’t a thing like this exist for Composer? and I decided to build one.

The Development:

I started developing it reusing the Climb code. At this point, It was very easy to check outdated dependencies locally. And when I say very easy, I mean it literally took seven lines to check it and return a beautiful table.

The code that checks for outdated dependencies locally

Then, I started modifying the code to use the GitHub API instead of the local composer.json file, and the final implementation took, also, seven lines to check using the GitHub API and queue a pull request.

The code that checks for outdated dependencies using the GitHub API and queues a Pull Request

With a few more tweaks for allowing dependency exclusion and implementing Eloquent models, the backend was ready!

The frontend was created using AdminLTE as a template for the dashboard, and the Pratt landing page as a template for the landing page. I am happy with the result, but I may open-source the frontend or get a partner to help me with that in the near future.

The Launch:

Then, the beta time came. I uploaded the landing page with an early-access form, and promoted it on Reddit and HackerNews. Two days later, when I decided to launch the public beta, more than 80 users already had filled the early-access form!

I sent the launch email (you can view it here) and got 30 users the next day!

Feedback, Bug Fixes & New Features:

The feedback came almost instantly. I recieved some emails about users having problems with adding repos. I identified the problem and deployed a fix. I also solved other small (and not so small) in the first two days. I also changed the name to remove Composer from (old name was ComposerCI), as requested by the Composer team. I send another email to all the subscribers telling them about the changes (you can view it here).

Ialso created a roadmap repository, so users could suggest new features, and got some interesting ones. You can find it here, and it’s also useful to check upcoming features.

Conclusion:

I created DependenCI to solve a personal need and to learn more things, and ended up building a tool that seems to be useful for PHP developers all over the world. In the next weeks, I plan to add more features, like using GitHub Integrations, integrating with GitLab or improving the frontend (as I said, I will probably welcome another developer to the project, stay tuned!).

DependenCI is currently free for both public and private repositories, and if you sign up before the beta ends, you’ll keep that pricing forever!

Finally, if you want to recieve news, promotions and other interesting things, you’ll want to subscribe to the DependenCI Newsletter. There are two ways to do this. The first one is to register at DependenCI, and you’ll automatically get added. The other one is to fill the form below:

Also, I would appreciate if you could take a moment to like this post, it really helps me to see you liked this, and I may write more posts like this in the future. Hope my product helps you to grow as a PHP developer, and let’s make PHP great (better) again!