Проект с открытым исходным кодом

База данных звонков клиентам (CRM)

Простая CRM для небольших команд с доверенным доступом

Компании, контакты и история взаимодействия — в одном месте. Разворачивается бесплатно для небольшой компании в пару кликов в облаке.

Приложение разворачивается в собственных проектах владельца в Supabase и Vercel. Пошаговый инструмент помогает с установкой и управлением развёртыванием.

Проект с открытым исходным кодом · v1.1.0

Список компаний CRM со столбцами компании, контакта и действий

РольСамостоятельный проект

ТипПолноценное веб-приложение

РазвёртываниеSupabase + Vercel

СтатусОткрытый исходный код · v1.1.0

Зачем я создал проект

CRM для конкретных задач без корпоративной сложности

Цель проекта — дать небольшой команде с доверенным доступом единое место для ведения клиентской базы и истории взаимодействия без сложности большой корпоративной CRM.

Вторая цель — сделать развёртывание воспроизводимым с помощью пошагового установщика, чтобы владельцу не приходилось собирать приложение вручную.

Текущие возможности

  • Компании и контакты
  • Авторизация и восстановление пароля
  • Записи о взаимодействиях
  • Настройка оформления
  • Общая история взаимодействия
  • Инструменты развёртывания для Windows и Linux
  • Авторство записей
  • Возобновление установки
  • Фильтр «Все записи» / «Мои записи»
  • Удаление приложения в Windows

Основное рабочее пространство CRM

Создавайте, редактируйте и удаляйте компании, храните сведения о компаниях и контактах и ведите общую базу для команды.

Список компаний с четырьмя примерами записей
Создание, изменение и удаление компанийВедите общую клиентскую базу.
Сведения о компаниях и контактахХраните юридические и налоговые данные, телефоны и контакты в одном месте.
Общая база командыОдно развёртывание и одна база данных CRM.
Настройка оформленияНазвание и логотип компании владельца.

«Мои записи» — рабочий фильтр записей, созданных текущим пользователем. Это не личный раздел и не механизм разграничения доступа.

Вся история общения с клиентами в одном месте

Взаимодействия привязаны к компаниям. Для каждой записи сохраняются дата, описание и автор; пользователь может просматривать все записи или только созданные им.

Список взаимодействий с датами, компаниями, авторами и описаниями
Привязка к компаниямКаждое взаимодействие относится к компании.
Дата и описаниеСохраняйте контекст каждого контакта с клиентом.
Сохранение автора записиВидно, кто создал каждую запись.
Фильтр «Все» / «Мои»Переключайтесь между всеми и своими записями.

Авторизация и доступ команды

Экран входа в CRM по электронной почте и паролю

Supabase Auth

  • Вход по электронной почте и паролю
  • Восстановление пароля по ссылке
  • Защищённые разделы CRM
  • Пользователи, созданные или приглашённые владельцем
  • Открытая регистрация отключена

Несколько авторизованных пользователей работают в одном развёртывании и общей базе данных CRM.

От репозитория до работающей CRM

Пошаговый запуск для Windows и Linux делает развёртывание воспроизводимым, при этом владелец сохраняет контроль над Supabase и Vercel.

  1. 01Запустить установщикУстановщик Windows или программа запуска для Linux начинает настройку.
  2. 02Настроить SupabaseПодготовить базу данных, миграции и авторизацию.
  3. 03Настроить VercelПодготовить окружение Vercel владельца.
  4. 04Развернуть CRMСобрать и опубликовать веб-приложение.
  5. 05Сохранить доступСохранить адрес и создать ярлык Windows.
Дополнительные возможности
  • Возобновление прерванной установки
  • Отдельный деинсталлятор для Windows
  • Безопасное хранение локального состояния установки
  • Сценарий повторной установки и приёмочного тестирования
  • Манифест принадлежности ресурсов
Пошаговая настройка не означает полностью автоматическую установку в любой среде.

Данные и модель безопасности

Данные CRM хранятся в PostgreSQL в проекте Supabase владельца. Доступ к таблицам базы данных регулируют политики Row Level Security. Локально программа развёртывания хранит только файлы приложения, журналы, состояние установки и манифест принадлежности ресурсов.

Приложение React в браузереКлиентский интерфейс приложения
Supabase Data APIУправляемый слой доступа к данным
PostgreSQLХранение данных CRM
Supabase AuthАвторизация по почте и паролю
Row Level SecurityПолитики доступа к базе данных

Технологии

React 19Интерфейс приложения

ViteИнструменты сборки

React RouterМаршрутизация на стороне клиента

SupabaseБаза данных, авторизация и API данных

PostgreSQLХранение данных CRM

Row Level SecurityПолитики доступа к базе данных

VercelРазмещение веб-приложения

GoПрограмма развёртывания и удаления

Приложение не использует отдельный серверный компонент на Node.js или Go.

Возможные направления развития

Это только возможные направления, а не текущие возможности.

  • Роли и детальные права доступа
  • Интеграция с почтой и календарём
  • Поиск и дополнительные фильтры
  • Вложения
  • Воронка продаж
  • Журнал аудита
  • Задачи и напоминания
  • Улучшенная мобильная версия
  • Отчёты и панель показателей
  • Подпись кода установщика
  • Импорт и экспорт
  • Автоматическое резервное копирование
  • Сценарий обновления и миграции

Подход к разработке

Я определял устройство продукта, архитектуру и технические решения, а при реализации, тестировании, подготовке документации и выпуске использовал инструменты разработки с ИИ и компоненты с открытым исходным кодом.

Результаты работы проверялись автоматическими тестами и реальными сквозными приёмочными сценариями.

Состояние проекта

Завершённый проект с открытым исходным кодом для портфолио и работающим сценарием развёртывания, близким к промышленному.

  • Установка в Windows
  • Работа в CRM
  • Настройка Supabase
  • Возобновление прерванной установки
  • Развёртывание в Vercel
  • Удаление и повторная установка
  • Авторизация
  • Проверено сквозными приёмочными тестами

Открытый исходный код и воспроизводимое развёртывание

Проект включает приложение, схему базы данных, миграции, политики Row Level Security, инструменты развёртывания, тесты и документацию.

Текущий публичный релиз: v1.1.0