Sitemap

Laravel User Package

1 min readFeb 20, 2017

--

In programming, the key thing you learn is: Do not repeat yourself. That is the reason why there are numerous packages in any programming language.

I used to build projects where all the functionalities were grouped into simple class files in a single folder and the view files also in single folder.

This created a nightmare when it comes to supporting these projects and also adding features to the existing functionality. Moreover, I ended up wasting a lot of time recreating these functionalities all the time.

Get Raphael Ndwigah’s stories in your inbox

Join Medium for free to get updates from this writer.

To move a way from this bad programming practice, I decided to focus on building modular application. Where each major functionality is a package on its own. Using this approach it means that the package can be imported in multiple projects and that it can be updated and enhanced independent of the main application. This gave birth to the package Mnara (swahili meaning Watchtower).

Mnara is a Laravel package that focuses in decoupling user management and access rights from the Laravel application itself. It comes bundled with a simple ACL (based on shinobi) that allows the developer to focus on building other parts of the application without worrying about managing users, rights and permissions. Currently it supports Laravel 5.3 and 5.4

Since the idea behind building the package is to make something that is easy to extend and port into any project. Mnara is bundled with a wiki/guide that explains how to get started and also how to extend the package to suite a developers vision.

Contribution to the project is highly welcomed.

--

--