/espocrm

EspoCRM open source CRM application

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

EspoCRM

EspoCRM is an Open Source CRM (Customer Relationship Management) software that allows you to see, enter and evaluate all your company relationships regardless of the type. People, companies or opportunities - all in an easy and intuitive interface.

It's a web application with a frontend designed as a single page application based on backbone.js and a REST API backend written in PHP.

Download the latest release from our website.

Requirements

  • PHP 7.2 and later (with pdo, json, gd, openssl, zip, imap, mbstring, curl extensions);
  • MySQL 5.7 (and later), or MariaDB 10.1 (and later).

For more information about server configuration see this article.

Documentation

Documentation for administrators, users and developers is available here.

How to report a bug

Create an issue here or post on our forum.

How to install a stable version

Download the latest version. See the instructions about installation.

Getting started (for developers)

  1. Clone repository to your local computer.
  2. Change to the project's root directory.
  3. Install composer.
  4. Run composer install if composer is installed globally or php composer.phar install if locally.

Never update composer dependencies if you are going to contribute code back.

Now you can build. Build will create compiled css files.

To compose a proper config.php and populate database you can run install by opening http(s)://{YOUR_CRM_URL}/install location in a browser. Then open data/config.php file and add isDeveloperMode => true.

How to build (for developers)

You need to have nodejs and Grunt CLI installed.

  1. Change to the project's root directory.
  2. Install project dependencies with npm install.
  3. Run Grunt with grunt.

The build will be created in the build directory.

Upgrade packages can be built with grunt upgrade.

How to contribute (for developers)

Before we can merge your pull request you need to accept our CLA here. It's very simple to do.

Branches:

  • hotfix/* – upcoming maintenance release; fixes should be pushed to this branch;
  • master – develop branch; new features should be pushed to this branch;
  • stable – last stable release.

Running tests (for developers)

You need to have phpunit installed.

Unit tests:

phpunit --bootstrap=vendor/autoload.php tests/unit

Integration tests:

phpunit --bootstrap=vendor/autoload.php tests/integration

How to make a translation

Build po file with command: node po.js en_EN (specify needed language instead of en_EN)

After that translate the generated po file.

Build json files from the translated po file:

  1. Put your po file espocrm-en_EN.po into build directory
  2. Run node lang.js en_EN

Json files will be created in build directory grouped by folders.

License

EspoCRM is published under the GNU GPLv3 license.