/ Laravel

Building a CRM using Laravel

In the coming months, I'll walk you through building Active Estate Property Manager and CRM using Laravel.

Active Estate was built using larval 5.3 and currently contains the property manager feature.

I'll not give out everything - after all, it is a commercial application.

I hope you will enjoy it.

What we are going to build?

We are going to build a SaaS Property Manager and a CRM. The application is mainly used by Real Estate agencies to store the properties information, be able to export them to other websites. Store and manage buyers and sellers information.

So, the main "models" of our system are follow:

  • Real Estate Agency
  • Property
  • User

Each of these models will have a lot of sub models to serve them, for example a "Property" model will have these sub models (for example only):

  • PropertyType
  • Accessibility
  • Heating
  • Condition
  • Medium
  • ...

Development Environment

I'll build the new system with Laravel 5.5 (still in development mode today, will be release within a month).

You can use Docker or Laravel Homestead. It is up to you.


There are a lot of ways to have this base on you OS. Google "How to install php 7.1 on ..." and you will find hundreds of tutorials.


On Linux / Unix / OSX, do the following:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

To have Composer globally (recommended) run the following command:

mv composer.phar /usr/local/bin/composer

Note: If the above fails due to permissions, you may need to run it again with sudo.

For more information on how to install composer please visit Getting Started page.


First you need to have PHP 7 and above installed on your machine as Laravel 5.5 only support PHP 7 and above.

The easiest way is to use Laravel Installer, this will help you create a fresh Laravel installation.

After installing composer:

composer global require "laravel/installer"

Once installed, the laravel new command will create a fresh Laravel installation in the directory you specify. For instance, laravel new blog will create a directory named blog containing a fresh Laravel installation with all of Laravel’s dependencies already installed:

laravel new blog

To install Laravel 5.5 (while in development mode):

laravel new --dev blog


I'll be using MySQL community server version 5.7.

You are free to use any other DB server such as PostgreSQL or SQL Server.


I am using DigitalOcean and Linode for my applications, I cannot fault any of them.

So, after having our development environment setup, lets have a cup of tea and come back in the next episode to discuss the structure of the application.