Собственная CRM-система, разработанная для управления фриланс-деятельностью. В системе я веду клиентов, завожу на них проекты и задачи, трекаю время по задачам, после чего система автоматически рассчитывает стоимость выполненных работ. Данные агрегируются по каждой задаче, проекту и клиенту, что позволяет получать полную картину по заработку на всех уровнях.
Для аналитики предусмотрен отдельный дашборд с графиками и диаграммами: можно смотреть данные по каждому дню — какие задачи выполнялись, с какими проектами и клиентами велась работа, сколько заработано за день, неделю или месяц. Помимо этого в CRM реализованы модули аналитики лидов и вакансий: можно вести лидов с характеристиками (холодный/горячий, источник привлечения и др.) и отслеживать конверсию в клиентов, а также вести вакансии со статусами и источниками, чтобы анализировать релевантность вакансий, успешность прохождения собеседований и эффективность каналов поиска.
Система построена на Symfony (backend), Vue (frontend), PostgreSQL (основная БД), Redis (кэш и сессии), ElasticSearch (поиск и аналитика), RabbitMQ (асинхронная обработка).
Персональная CRM для фрилансера
Собственная CRM-система, разработанная для управления фриланс-деятельностью. В системе я веду клиентов, завожу на них проекты и задачи, трекаю время по задачам, после чего система автоматически рассчитывает стоимость выполненных работ.
Данные агрегируются по каждой задаче, проекту и клиенту, что позволяет получать полную картину по заработку на всех уровнях. Поскольку у клиентов могут быть разные проекты, агрегация идёт как по каждому проекту отдельно, так и по клиенту в целом.
Для аналитики предусмотрен отдельный дашборд с графиками и диаграммами: можно смотреть данные по каждому дню — какие задачи выполнялись, с какими проектами и клиентами велась работа, сколько заработано за день, неделю или месяц.
Помимо этого в CRM реализованы модули аналитики лидов и аналитики вакансий:
- Лиды: добавление лидов с характеристиками (холодный/горячий, источник привлечения и др.), отслеживание статусов и конверсии в клиентов. Отдельный таб в дашборде показывает, сколько лидов привлечено, какие у них статусы и сколько удалось сконвертировать в клиентов. Это позволяет анализировать успешность привлечения и корректировать действия.
- Вакансии: заведение вакансий со статусами и источниками, анализ релевантности вакансий моим способностям и успешности прохождения собеседований. Отдельный таб в дашборде помогает понимать, правильно ли я ищу вакансии, с каких каналов лучше искать и как корректировать поведение на собеседованиях.
Моя роль в проекте
Full-stack разработчик и автор проекта: проектирование архитектуры, разработка backend на Symfony, frontend на Vue, настройка инфраструктуры (PostgreSQL, Redis, ElasticSearch, RabbitMQ).
Технологический стек
- Backend: Symfony (PHP)
- Frontend: Vue.js
- База данных: PostgreSQL
- Кэш и сессии: Redis
- Поиск и аналитика: ElasticSearch
- Очереди: RabbitMQ
Ключевые задачи
- Проектирование доменной модели: клиенты, проекты, задачи, время, ставки
- Трекинг времени по задачам и автоматический расчёт стоимости работ
- Агрегация данных по задачам, проектам и клиентам
- Дашборд с графиками и диаграммами для аналитики доходов
- Модуль аналитики лидов с характеристиками и конверсией
- Модуль аналитики вакансий со статусами и источниками
- Асинхронная обработка событий через RabbitMQ
- Поиск по данным через ElasticSearch
- Кэширование и оптимизация выдачи через Redis
Результат
Полноценная персональная CRM, которая закрывает учёт клиентов, проектов и задач, автоматизирует расчёт заработка и даёт аналитику по доходам, лидам и вакансиям. Система помогает принимать решения на основе данных: какие каналы привлечения лидов эффективны, какие вакансии релевантны, сколько заработано за день/неделю/месяц.