# Customization

Concord CRM is configureable with tons of options but in some cases you will need to customize the code for your requirements to add new feature or modify existing features.

As the code is not obfuscated, you will be able to achieve this as long you have a developer knowledge and you are familiar with Laravel and VueJS and you can configure a development environment on your PC.

NOTE

Customization support is not included with the purchase, we cannot provide customizations that extended default Concord CRM features, if you don't have the knowledge for customization, it's highly recommended to hire a professional to do the job for you.

In order to perform any customization, you will need to be familiar with common development tools like working with NodeJS, NPM, Composer as well with Laravel and VueJS.

The guide below is just a general guide to help you get started, if you are already familiar with Laravel and VueJS, feel free to use your own development techniques to customize Concord CRM.

# Notes

  • We can't teach you how to add new features or adjust existing ones, it's just too broad, you will need to be familiar with PHP, Javascript, Laravel, VueJS, feel free to explore the code to get more familiar with Concord CRM code and find suitable way how you can develop your requirement.
  • We cannot provide general webhosting and/or general PHP/Javascript support.
  • We cannot provide general Laravel and development support.
  • We cannot provide HOW-TO advice on if Concord CRM is capable of doing what you want/need.

# Development Environment

Before even starting to customize Concord CRM, you will need a development environment in place in order to perform any customization. If you are not familiar with Laravel, we highly recommend to first read Laravel Installation Guide (opens new window)

# Configure Concord CRM

After your development environment is configured, you will need to perform clean installation in Concord CRM.

  • We believe that you already installed Laravel Homestead and configured a blank project, extract the Concord CRM files e.q. in ~/code/concordcrm.
  • Perform fresh Concord CRM installation.
  • Install NPM packages by running npm install.
  • Run npm run watch to watch for any files changes in the resources/js and resources/sass folders.

# Javascript and CSS files

The Javascript and CSS/SASS files are located in the following resources/js and resources/sass directories.

You are free to edit the files in the directories if you are in need, please keep in mind that these files are development files and any changes to the files won't be compiles unless you are watching the files with by running the npm command npm run watch in the root of Concord CRM directory.

After the files are compiled, they will be placed in the public/js and public/css.

# Deployment

After you have finished your development, you will need to prepare Concord CRM for deployment on your live server.

  • Run npm run prod to build the Javscript and CSS files for production.
  • If you installed development composer dependencies run composer install --optimize-autoloader --no-dev.
  • Upload the files to server (without node_modules folder and including the vendor folder).

# Conflicts with Concord CRM Updates

If you decide to edit Concord CRM and customize it for your requirements, we highly recommend to re-think your logic on how you will be merging changes when Concord CRM update is released, you can use Git to maintain your own repository for Concord CRM then merge the changes when new released of Concord CRM is published.

We can't provide a guide on how to achieve this, but if you don't have the knowledge or ability to maintain the changes we highly recommend to use your customized version if fits for your requirements, you don't need to perform update.