-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
Создай профессиональную веб-CRM систему с учётом продаж, складского учёта и финансов, готовую к реальной коммерческой эксплуатации и масштабированию
-
Цель системы
Создать быструю, надёжную и масштабируемую CRM, предназначенную для:
• учёта продаж
• складского учёта
• управления поставщиками
• контроля финансов и долгов
• аналитики и отчётности
Система должна одинаково удобно работать на ПК, ноутбуке и телефоне, поддерживать много складов, роли пользователей и несколько валют, быть готовой к росту бизнеса и последующей упаковке в .exe. -
Техническая архитектура (строго)
Backend
• Python
• Framework: FastAPI
• Архитектура: REST API + JWT
• Асинхронная обработка (для скорости)
• Чёткое разделение:
o Auth
o Sales
o Warehouse
o Suppliers
o Finance
o Reports
o Settings
• Валидация данных на сервере
• Логирование ошибок и действий
Frontend
• React
• TypeScript (обязательно)
• UI: MUI / Ant Design / Shadcn (один, не мешать)
• Адаптивная вёрстка (mobile-first)
• PWA (офлайн-кеш + быстрый запуск)
• Поддержка светлой и тёмной темы
База данных
• PostgreSQL
• Чёткая нормализация
• Индексы для поиска
• Транзакции для продаж и списаний
• История изменений (audit log)
Хранение и резервирование
• Облачное хранилище
• Автобэкапы:
o ежедневно
o хранение минимум 30 дней
• Возможность ручного бэкапа
• Экспорт базы -
Авторизация и безопасность
• Логин + пароль
• Хеширование паролей
• JWT с обновлением токена
• Роли пользователей:
o Владелец
o Администратор
o Продавец
o Склад
o Просмотр (read-only)
• Ограничение прав по ролям
• Лог действий:
o кто
o что
o когда
o до / после -
Продажи (панель продаж)
Функционал
• Создание продажи:
o выбор товара из склада
o или ручной ввод (с пометкой)
• Быстрый поиск:
o по названию
o по коду
o по штрих-коду
• Поддержка:
o скидки (фикс / %)
o возвраты
o отмены продаж
• Автоматический расчёт:
o выручки
o себестоимости
o прибыли по каждой продаже
• Продажа автоматически уменьшает остатки на складе
• Видимость:
o что есть в наличии
o что заканчивается
o где максимальная прибыль -
Складской учёт
Товар
• Название
• Категория
• Цена закупки
• Цена продажи
• Код товара
• Штрих-код
• Фото
• Минимальный остаток
• Привязка к складу
Операции
• Приход товара
• Продажа (автоматическое списание)
• Ручная корректировка (с логом причины)
• Подсветка остатков:
o 0 — красный
o ниже минимума — жёлтый
o норма — зелёный
• Уведомления при минимальном остатке
• Автоматическое добавление в список заказов -
Категории товаров
Предустановленные:
• Экран
• Сенсоры
• Батарейки
• SIM-слот
• Нижняя часть
• Стекло камеры
• возможность ручного добавления / редактирования / удаления. -
Поставщики
• ФИО / Название
• Контакты
• История закупок
• Учёт долгов:
o сумма
o валюта
o дата
o статус
• Отчёты:
o у кого закупаем больше всего
o средняя цена закупки
o общая сумма закупок -
Финансы
• Учёт оборота
• Сколько денег вложено в товар
• Доход / расход
• Долги:
o кто
o кому
o сколько
o дата
o валюта
• Поддержка валют:
o TJK
o USD
o AED
• Хранение курса на дату операции -
Отчёты и аналитика
• Продажи:
o день
o неделя
o месяц
o год
• Прибыль:
o по товарам
o по категориям
• Топ продаваемые товары
• Неликвид (лежит без движения)
• Отчёты по поставщикам
• Экспорт:
o Excel
o PDF
• Подготовка к печати -
Навигация
Левое вертикальное меню
• Продажи
• Склад
• Поставщики
• Финансы
• Отчёты
• Заказы
• ТОП
• ДОЛГ
• Настройки
Требования:
• иконки
• подсветка активного раздела
• возможность свернуть меню -
Dashboard (главный экран)
Показывать сразу:
• выручку сегодня
• прибыль
• товары с минимальным остатком
• быстрые кнопки:
o добавить продажу
o добавить товар
• графики без агрессивных цветов -
Формы
• Минимум полей
• Разделение на блоки:
o Основное
o Дополнительно
• Ясные ошибки
• Большая кнопка «Сохранить»
• Никакого визуального шума -
Дизайн (строго)
• Минимализм
• Светлый фон (бело-серый)
• 1 фирменный цвет
• Красный — только для ошибок и нулевых остатков
• Скругления и мягкие тени
• Читабельность при работе 6–8 часов
Шрифты
• Заголовки: 20–24px
• Подзаголовки: 16–18px
• Таблицы: 13–14px
• Без декоративных шрифтов -
Темы
• Светлая
• Тёмная
Все элементы должны быть читаемыми в обеих темах. -
Анимации
• Плавные
• Только:
o открытие окон
o сохранение
o переходы
Без «игрушек». -
Мобильная версия
• Увеличенные кнопки
• Таблицы → карточки
• Быстрый поиск
• Быстрая продажа -
Масштабирование и рост
• Поддержка нескольких складов
• Поддержка нескольких пользователей
• Готовность к увеличению объёма данных
• Миграции базы данных
• API-документация (Swagger) -
Подготовка к .exe
• Возможность запуска через локальный сервер
• PWA или Electron-обёртка
• Автозапуск
• Работа без интернета с синхронизацией -
Качество
• Код без костылей
• Читаемая структура
• Комментарии
• Предсказуемое поведение
• Отсутствие магии