TASKFLOW CRM API

PHP Version Yii Framework License: Script Agency

TASKFLOW CRM - это мощная и гибкая CRM-система для управления задачами, личными проектами, а так же проектами в креативных агентствах. Построена на принципах Domain-Driven Design (DDD) и Clean Architecture, что обеспечивает высокую масштабируемость и поддерживаемость кодовой базы.

API предоставляет полный набор инструментов для автоматизации бизнес-процессов агентства, включая канбан-доски, файловое хранилище и аналитику.


О системе

TASKFLOW CRM разработана с учётом специфики работы креативных агентств и студий для автоматизации бизнес-процессов компании и личного использования всех желающих.

Система позволяет:

Архитектура системы построена вокруг предметных областей (bounded contexts), каждая из которых изолирована в отдельном модуле. Это позволяет независимо развивать функциональность и легко добавлять новые возможности.


Команда разработчиков


Используемые технологии

Бэкенд

ТехнологияВерсияНазначение
PHP8.1+Основной язык разработки
Yii22.0.54Фреймворк
MySQL8.0Основная база данных
Redis7.0Кэширование, очереди, сессии
JWT-Аутентификация API
Passport1.0.0UserService компании

Инфраструктура и DevOps

ТехнологияНазначение
DockerКонтейнеризация приложения
Nginx, ApacheВеб-сервер(а)
GitHub ActionsCI/CD пайплайны
ComposerУправление зависимостями

Процесс развёртывания (Deploy)

Требования к окружению

Локальный запуск (development)

# 1. Клонировать репозиторий
git clone https://github.com/Factum-studio/taskflow.thescript.backend.git
cd taskflow.thescript.backend

# 2. Переключиться на рабочую ветку
git checkout <branch>

# 3. Установить зависимости
composer install

# 4. Настроить окружение
cp .env.example .env
# Отредактировать .env (указать данные БД, Redis и т.д.)

# 5. Применить миграции
php yii migrate --interactive=0

# 6. Запустить встроенный сервер
php yii serve --docroot=web

Развёртывание на продакшн (production)

⚠️ Важно:

Производится только настроенными CI/CD пайплайнами

Процесс тестирования

Запуск тестов

# Запуск всех тестов
composer test

# Запуск только модульных тестов
composer test:unit

# Запуск только API-тестов
composer test:api

# Запуск конкретного тестового класса
vendor/bin/codecept run <test_type> tests/api/ClientsCest

Статический анализ

CI/CD (GitHub Actions)

Проект использует GitHub Actions для автоматического запуска тестов и анализа кода при каждом push и pull request. Конфигурация находится в .github/workflows/:

Ведение Git-репозитория

Подробные правила работы с Git, включая:

Перейти к руководству

Лицензия

Исходный код Script Agency для TASKFLOW CRM (контроллеры, модели, представления, бизнес-логика) распространяется под лицензией Script Agency Public License 1.0 (см. файл LICENSE).

Данный продукт использует Yii Framework, который распространяется под лицензией BSD 3-Clause (см. пункт стороннее ПО).


Архитектура проекта

Подробное описание архитектуры доступно в архитектура ядра, возможности системы и документации модулей.

Ключевые диаграммы