Base2Sale CRM system

Base2Sale CRM system Jumbotron Image

Base2Sale CRM system

Modernization and feature expansion of a legacy Laravel CRM for sales teams.

About Base2Sale CRM system

I was tasked with modernizing an old Laravel program, upgrading it from PHP 5 to PHP 8 and expanding it with new features.

New features included a calendar for key account managers to manage appointments, a dashboard overview with key sales metrics, and a detailed customer view. The customer view provided info, purchase history, and an advanced subview combining a floorplan builder and webshop, supporting complex drag-and-drop for both equipment and products.

I also decoupled the frontend from Laravel’s Blade templates, building a new reactive frontend in Next.js for a more modern user experience.

Key Features

  • Upgrade from PHP 5 to PHP 8 and Laravel modernization
  • Calendar for key account managers to manage appointments
  • Dashboard with sales metrics: total sales, confirmed orders, growth, returning customers, abandoned purchases, top 10 customers, sales by category/city/customer type, monthly sales
  • Detailed customer view with info, purchase history, and advanced subview
  • Floorplan builder and webshop with drag-and-drop for equipment and products
  • Frontend decoupled from Blade, rebuilt in Next.js for a modern UX

Technical Approach

The modernization of the Base2Sale CRM system involved a comprehensive upgrade from PHP 5 to PHP 8, significantly enhancing performance, security, and compatibility with modern web technologies. This upgrade was crucial for leveraging the latest features of the Laravel framework.

I rebuilt the frontend using Next.js, a React-based framework, to create a more dynamic and responsive user interface. This transition enabled faster page loads and interactive elements, utilizing React.js and Redux for efficient state management.

The backend was restructured using Laravel, taking advantage of Eloquent ORM for streamlined data handling. Laravel migrations enabled smooth database updates and schema management.

The CRM used MySQL hosted on One.com for scalable and reliable data storage.

New features integrated into the system included a dashboard with detailed sales metrics, a robust calendar system for account managers, and a complex drag-and-drop floorplan builder integrated into a customer view and webshop.

Testing was handled via Jest and PHPUnit, while CI/CD pipelines were implemented using GitHub Actions. Hosting was managed via Google Cloud for high availability and performance.

Tech Stack

  • Frontend: Next.js, React.js, Redux, TypeScript, MUI, SCSS
  • Backend: PHP, Laravel, Eloquent
  • Database: MySQL hosted on One.com
  • DevOps: Jest, PHPUnit, GitHub Actions, Google Cloud

GitHub repositories & Online Demo

Below are GitHub repositories.