Home
Softono
e

espocrm

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
3

Software by espocrm

EspoCRM
Open Source

EspoCRM

## EspoCRM [![PHPStan level 8](https://img.shields.io/badge/PHPStan-level%208-brightgreen)](#espocrm) [EspoCRM](https://www.espocrm.com) is a free, open-source CRM platform designed to help organizations build and maintain strong customer relationships. It provides a wide range of tools to store, organize, and manage leads, contacts, sales opportunities, marketing campaigns, support cases, and more – all business information in a simple and intuitive interface. ![Screenshot](https://user-images.githubusercontent.com/1006792/226094559-995dfd2a-a18f-4619-a21b-79a4e671990a.png) ### Architecture EspoCRM is a web application with a frontend designed as a single-page application and a REST API backend written in PHP. ### Demo You can try the CRM on an online [demo](https://www.espocrm.com/demo/). ### Requirements * PHP 8.3 - 8.5; * MySQL 8.0 (and later), or MariaDB 10.3 (and later); * PostgreSQL 15 (and later). For more information about server configuration, see [this article](https://docs.espocrm.com/administration/server-configuration/). ### Download [Download](https://www.espocrm.com/download/) the latest release from our website or from GitHub [releases](https://github.com/espocrm/espocrm/releases). ### Release notes Release notes are available at GitHub [releases](https://github.com/espocrm/espocrm/releases). ### Documentation See the [documentation](https://docs.espocrm.com) for administrators, users and developers. ### Why EspoCRM? * Open-source transparency. EspoCRM's source code is open and accessible, so anyone can inspect it and see how data is being managed within the CRM. * Customization freedom. You can develop features, create custom entities, fields, relationships, buttons to make the system fit your specific needs. EspoCRM is more than a CRM – it's a platform for building custom business applications. * Clean user interface. EspoCRM offers an uncluttered, minimalist, and fast user interface, which is easy to navigate and has a short learning curve. * Straightforward REST API. It can be easily integrated with other applications using a REST API. ### Who is EspoCRM for? * From startups, small & medium-sized businesses to larger organizations. A flexible, fully customizable solution that scales with your needs. * Developers & tech enthusiasts. You can extend functionalities, build extensions, and create custom integrations. * Anyone seeking a free or on-premise CRM. ### Installing stable version See installation instructions: * [Manual installation](https://docs.espocrm.com/administration/installation/) * [Installation by script](https://docs.espocrm.com/administration/installation-by-script/) * [Installation with Docker](https://docs.espocrm.com/administration/docker/installation/) * [Installation with Traefik](https://docs.espocrm.com/administration/docker/traefik/) ### Bug reporting Create a [GitHub issue](https://github.com/espocrm/espocrm/issues/new/choose) or post on our [forum](https://forum.espocrm.com/forum/bug-reports). ### Development See the [developer documentation](https://docs.espocrm.com/development/). We highly recommend using an IDE for development. The backend codebase adheres to SOLID principles, utilizes interfaces, static typing and generics. We recommend to start learning EspoCRM from the Dependency Injection article in the documentation. Metadata plays an integral role in the EspoCRM application. All possible parameters are described with a JSON Schema, meaning you will have autocompletion in the IDE. You can also find the full metadata reference in the documentation. The frontend is an SPA built on a custom framework. It utilizes nested views and service DI, with the core partially written in TypeScript. Developers primarily work with existing form and field view implementations. ### Community & Support If you have a question regarding some features, need help or customizations, want to get in touch with other EspoCRM users, or add a feature request, please use our [community forum](https://forum.espocrm.com/). We believe that using the forum to ask for help and share experience allows everyone in the community to contribute and use this knowledge later. ### License EspoCRM is an open-source project licensed under [GNU AGPLv3](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt). ### Contributing Before we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla). See the [contributing guidelines](https://github.com/espocrm/espocrm/blob/master/.github/CONTRIBUTING.md). Branches: * *fix* – upcoming maintenance release; minor fixes should be pushed to this branch; * *master* – develop branch; new features should be pushed to this branch; * *stable* – last stable release. ### Language If you want to improve existing translation or add a language that is not available yet, you can contribute on our [POEditor](https://poeditor.com/join/project/gLDKZtUF4i) project. See instructions [here](https://www.espocrm.com/blog/how-to-use-poeditor-to-translate-espocrm/). It may be reasonable to let us know about your intention to join the POEditor project by posting on our forum or via the contact form on our website. Changes on POEditor are usually merged to the GitHub repository before minor releases.

CRM
3K Github Stars
espocrm-docker
Open Source

espocrm-docker

## Official Docker Image for EspoCRM This repository is the official Docker image for EspoCRM. Article map: - [Usage](#usage) - [Usage (only for development)](#usage-only-for-development) - [Upgrading](#upgrading) - [Documentation](#documentation) ### Usage Use a prebuilt version for a production instance, https://hub.docker.com/r/espocrm/espocrm. ``` services: espocrm-db: image: mariadb:latest container_name: espocrm-db environment: MARIADB_ROOT_PASSWORD: root_password MARIADB_DATABASE: espocrm MARIADB_USER: espocrm MARIADB_PASSWORD: database_password volumes: - espocrm-db:/var/lib/mysql restart: always healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 20s start_period: 10s timeout: 10s retries: 3 espocrm: image: espocrm/espocrm container_name: espocrm environment: ESPOCRM_DATABASE_PLATFORM: Mysql ESPOCRM_DATABASE_HOST: espocrm-db ESPOCRM_DATABASE_USER: espocrm ESPOCRM_DATABASE_PASSWORD: database_password ESPOCRM_ADMIN_USERNAME: admin ESPOCRM_ADMIN_PASSWORD: password ESPOCRM_SITE_URL: "http://localhost:8080" volumes: - espocrm:/var/www/html restart: always depends_on: espocrm-db: condition: service_healthy ports: - 8080:80 espocrm-daemon: image: espocrm/espocrm container_name: espocrm-daemon volumes: - espocrm:/var/www/html restart: always depends_on: - espocrm entrypoint: docker-daemon.sh espocrm-websocket: image: espocrm/espocrm container_name: espocrm-websocket environment: ESPOCRM_CONFIG_USE_WEB_SOCKET: "true" ESPOCRM_CONFIG_WEB_SOCKET_URL: "ws://localhost:8081" ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN: "tcp://*:7777" ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN: "tcp://espocrm-websocket:7777" volumes: - espocrm:/var/www/html restart: always depends_on: - espocrm entrypoint: docker-websocket.sh ports: - 8081:8080 volumes: espocrm: espocrm-db: ``` Run `docker compose up -d`, wait for it to initialize completely, and visit `http://localhost:8080`. ### Usage (only for development) Example `docker-compose.yml`: ``` services: espocrm-db: container_name: espocrm-db image: mariadb:latest restart: always environment: MARIADB_ROOT_PASSWORD: root_password MARIADB_DATABASE: espocrm MARIADB_USER: espocrm MARIADB_PASSWORD: database_password volumes: - espocrm-db:/var/lib/mysql healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 20s start_period: 10s timeout: 10s retries: 3 espocrm: container_name: espocrm build: context: ./apache dockerfile: Dockerfile environment: ESPOCRM_DATABASE_PASSWORD: database_password ESPOCRM_ADMIN_USERNAME: admin ESPOCRM_ADMIN_PASSWORD: password ESPOCRM_SITE_URL: "http://localhost:8080" restart: always depends_on: espocrm-db: condition: service_healthy ports: - 8080:80 volumes: - espocrm:/var/www/html espocrm-daemon: container_name: espocrm-daemon build: context: ./apache dockerfile: Dockerfile volumes: - espocrm:/var/www/html restart: always entrypoint: docker-daemon.sh volumes: espocrm-db: espocrm: ``` ### Upgrading In order to upgrade EspoCRM instance created by the `docker-compose.yml`: 1. Open your `docker-compose.yml` directory. 2. Run the command: ``` $ docker compose pull && docker compose up -d ``` ### Documentation Documentation for administrators, users and developers is available [here](https://docs.espocrm.com). ### License EspoCRM is published under the GNU AGPLv3 [license](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).

CRM Container Management
85 Github Stars
ext-real-estate
Open Source

ext-real-estate

# Real Estate extension for EspoCRM [See more](https://www.espocrm.com/extensions/real-estate/) on the website. ## Configuration Create `config.json` file in the root directory. When reading, this config will be merged with `config-default.json`. You can override default parameters in the created config. Parameters: * espocrm.repository - from what repository to fetch EspoCRM; * espocrm.branch - what branch to fetch (`stable` is set by default); you can specify version number instead (e.g. `5.8.5`); * database - credentials of the dev database; * install.siteUrl - site url of the dev instance. ## Config for EspoCRM instance You can override EspoCRM config. Create `config.php` in the root directory of the repository. This file will be applied after EspoCRM installation (when building). Example: ```php <?php return [ 'useCacheInDeveloperMode' => true, ]; ``` ## Building After building, EspoCRM instance with installed extension will be available at `site` directory. You will be able to access it with credentials: * Username: admin * Password: 1 Note: You can build on Linux and Windows OS. Commands are the same. ### Preparation 1. You need to have *node*, *npm*, *composer* installed. 2. Run `npm install`. 3. Create a database. The database name is set in the config file. ### Full EspoCRM instance building It will download EspoCRM (from the repository specified in the config), then build and install it. Then it will install the extension. Command: ``` node build --all ``` Note: It will remove a previously installed EspoCRM instance, but keep the database intact. ### Extension package building Command: ``` node build --extension ``` The package will be created in `build` directory. Note: The version number is taken from `package.json`. ## Development workflow 1. Do development in `src` dir. 2. Run `node build --copy`. 3. Test changes in EspoCRM instance at `site` dir by opening it in a browser. A URL will look like: `http://localhost/real-estate/site`, depending on how you named your directory. ## Tests Prepare: 1. `node build --copy` 2. `cd site` 3. `grunt test` Unit tests: ``` vendor/bin/phpunit --bootstrap=./vendor/autoload.php tests/unit/Espo/Modules/RealEstate ``` Integration tests: ``` vendor/bin/phpunit --bootstrap=./vendor/autoload.php tests/integration/Espo/Modules/RealEstate ``` ## Versioning The version number is stored in `package.json` and `package-lock.json`. Bumping version: ``` npm version patch npm version minor npm version major ``` ## Translation Assuming that you have already built EspoCRM instance. ### Building PO file 1. Change dir: `cd site` 2. Run: `node po en_US --module=RealEstate` (replace `en_US` with a language code you need to translate to) This will generate PO file in `site/build/` directory. You will need to translate this file. ### Building language files from PO Assuming you have translated PO file in build directory with the same name as when it was generated. 1. Change dir: `cd site` 2. Run: `node lang en_US --module=RealEstate` (replace `en_US` with the target language code) This will generate language files in `site/build/` directory. You will need to copy these files to `src/files/` directory and commit. ## License Real Estate extension for EspoCRM is published under the GNU GPLv3 license.

CMS Plugins & Extensions CRM
24 Github Stars