Releasing LaravelPackages.net - The Ultimate Laravel Packages Listing Website with Advanced Search Functionnality

Releasing LaravelPackages.net - The Ultimate Laravel Packages Listing Website with Advanced Search Functionnality


Apr 25 2019, 13:35 in Web Development

Whenever I start working on new application or a new feature, I wonder if someone from the Laravel Community already developed a package that I can use.

And most of the time, the answer is yes. It's impossible to thanks the community enough for the insane amount of work some people put into building open source packages.

But the issue now is to find a package that actually remains updated, that has enough features and that is easy to use. A generally good indicator is the amount of stars and weekly / monthly downloads.

Searching through Laravel Packages can be a bit tricky. Often you find yourself searching on Github, but you'll find tons of repositories that aren't even packages. Or on Packagist, but it's quite difficult to use/read. And finally there's packalyst, an amazing website that also lists Laravel Packages, but that doesn't allow you to order the results by stars/date/downloads etc. And also I think packalyst is a bit old now. I wanted to build a new, modern website.

Modern Website

First, I started working on a fresh and clean layout. I wanted the website to be beautiful and easy to read.

Search

The first tool I have in mind when I build a website that will use a FullText Search functionnality is Algolia. It's a very powerful service, supported out of the box by Laravel Scout, and it's free! I use it on almost all my projects that have Search. I use Algolia on this website by the way.

However once you reach 10k records, Algolia becomes a paid service, and it is (relatively and understandably) expensive. For LaravelPackages.net I could not use Algolia because I would quickly reach more than 10k records, and it is a free website that won't make any money. So I could not afford Algolia services.

The obvious alternative is Elastic Search, an open-source Search Engine based on Java, that you have to install on your server. It's probably the best open-source Search Engine out there, but has some downsides:

First, it is complicated to install and to configure. That is simply because it is so powerful that you can customize it to fit your needs into details.

And also it is very heavy in memory and CPU consumption. Thus I couldn't install it on my own dedicated server. Instead, I used Laravel Forge and Hetzner to setup a small VPS that only runs Elastic Search.

This VPS costs me 8€ per month is runs nothing else than Elastic Search. This works so well that I could use it for all my projects!

Result

Now that Elastic Search is implemented and the layout done, and all features build, Laravel Packages is ready to be used!

Every day, new packages are added to the database. The goal is to cover more and more packages with time. Hopefully one day every packages will be indexed on the plateforme.

Features

Here are some features I built:

  • Package Search with Ordering
  • Packages stars and downloads evolution chart
  • Ability to add a package to a "Collection"
  • Register a package

Package Collection

Package Collection are basically a list of packages. For example you can create a list "Packages I use to build a Blog" and list all the packages you use for that type of project. It helps developers to find quicly a set of compatible packages for a specific type of application.

Future Features

I will need to actually build the emails of the newsletter, because right now you can subscribe but that's it (lol)


Share:
Like:

Disable AdBlock on this domain and offer me a cup of coffee :)