Об этом проекте

Этот репозиторий представляет собой рабочую платформу для电商-торговли, ориентированную на реальную деятельность, а не просто панель данных. Система одновременно поддерживает внутренние продажи, внешнюю торговлю, цепочку поставок, склад, логистику, финансы и ежемесячные расчёты, связывая модули через единую базу бизнес-данных и финансовых операций. Основные рабочие входы разделены на три части: рабочее место внутренних продаж (обзор операций, центр продаж, базовые товары, складской центр, центр цепочки поставок, экспресс-логистика, финансовый центр), рабочее место внешней торговли (обзор внешней торговли, заказы внешней торговли, B2B-клиенты и дистрибьюторы, управление каналами, сопоставление зарубежных SKU, международные отгрузки Shipment, финансы внешней торговли, бизнес Alsvid), а также отдельный финансовый центр. Финансовый центр использует компанию как первое измерение, а бизнес-направление как второе. По умолчанию это Чжэцзянская компания, с расширениями для Австрии, Германии, Гонконга и других, без необходимости переделывать финансовую систему. Ключевая модель — FinanceEntry, охватывающая компанию, бизнес-направление, исходный модуль и номер, финансовую категорию, доходы/расходы, валюту, сумму и налог, плановые и фактические показатели, статус расчётов, статус счетов-фактур, учётный период, а также влияние на денежные средства и прибыль. Денежные средства и прибыль обрабатываются раздельно: например, вычитаемый импортный НДС влияет на денежные средства, но не напрямую на прибыль; стоимость товаров Shipment влияет на прибыль, но не дублирует денежные выплаты за закупки. Что касается бизнес-процессов, внутренние продажи объединяют заказы на продажу, возвраты после продажи, себестоимость продаж, кредиторскую задолженность по закупкам, а также сверку экспресс-логистики (оценочной и фактической) в FinanceEntry; внешняя торговля следует порядку: заказы внешней торговли, отгрузки Shipment, китайский экспорт, международные перевозки, таможенная очистка ЕС, конечная доставка за рубежом, финансовые операции и ежемесячные расчёты. Shipment может записывать экспортирующую и импортирующую компании, ответственного за импорт, номер контейнера и Tracking, экспортную и импортную таможенную очистку, обычные пошлины, антидемпинговые, компенсационные пошлины, импортный НДС, портовые сборы и конечную доставку, экспортные возмещения, а также плановые и фактические затраты. Импортные налоги и сборы учитываются в финансах соответствующей компании только если она несёт ответственность за импорт. Центр ежемесячных расчётов переключается по компании, напрямую читает бизнес-базу данных и предоставляет проверку полноты бизнес-данных, проверку сумм продаж и затрат, банковские выписки и квитанции, доходы без счетов-фактур, сводку финансов внешней торговли, ежемесячную ZIP-упаковку, отправку финансовых писем и архивирование исторических версий. Если для SKU продажи отсутствует себестоимость закупки, система явно укажет отсутствующие SKU, а не сгенерирует фиктивную прибыль. Что касается внешних источников данных, в настоящее время поддерживаются или запланированы Jikeyun, 1688, импорт файлов Zhejiang Rural Credit, списки налоговых счетов-фактур, SMTP-финансовые письма, а также будущее подключение внешнеторговых каналов и Shopify; неподключённые внешние системы честно отображаются как неподключённые, без использования имитационных данных для маскировки реальных соединений. Технический стек: бэкенд на Python 3.12, FastAPI, SQLAlchemy 2, Alembic, Pydantic, PostgreSQL, Celery и Redis; фронтенд на Next.js 16, React 19, Tailwind CSS 4, со статическим экспортом и хостингом на том же порту FastAPI, по умолчанию 127.0.0.1:8000, PostgreSQL и Redis не открыты для публичного доступа. Основная среда разработки и приёмки — нативный запуск на Mac, развёртывание на NAS и ZimaOS отложено, контейнеризация и конфигурации релиза сохранены. Процесс разработки использует прямые коммиты: повседневные изменения отправляются в develop, CI запускается по push, main — основная ветка релиза. Репозиторий предоставляет make-команды для проверки статуса, перезапуска, пересборки фронтенда, миграций Alembic, тестов бэкенда, проверки типов фронтенда, локальной полной приёмки и резервного копирования. Принцип персистентности подчёркивает разделение кода, базы данных, бизнес-файлов, резервных копий и журналов, настраиваемое через PERSIST_ROOT, DATA_DIR, BACKUP_DIR, LOG_DIR, чтобы избежать перезаписи бизнес-данных при обновлении Git или переключении веток. Принципы безопасности включают: .env не коммитится в Git, база данных и кэш не открыты для публичного доступа, порт 8000 не открыт для публичного доступа на этапе разработки, 1688 синхронизирует только совершённые закупки без автоматического размещения заказов и оплаты, оригинальные финансовые документы сохраняются с версиями, изменения структуры базы данных должны проходить через Alembic, а перед крупными структурными изменениями делается резервная копия. Обновление системы поддерживает нативный режим и идентификацию контейнерного релиза, проверяя ветку Git и удалённый репозиторий, состояние рабочего каталога, окружение Python и Node, Alembic, возможности резервного копирования, артефакты фронтенда, проверку здоровья и дисковое пространство.