feat: админ-панель, лицензия, тестовый стек на распределённой инфраструктуре

Админ-панель (доступ: is_admin + секретный код сессии в /admin/<code>):
- разделы: дашборд (здоровье сервисов, статистика), клиенты, работы,
  база документов, хранилище MinIO, источники парсинга, отстойник работ
- backend: модели ParseSource/StagedWork/AdminSession, миграция 003,
  core/admin (авторизация), роутер api/admin
- frontend: AdminLayout + 7 вкладок, adminApi, вход из кабинета
- Celery index.run_parser (фоновый парсинг), автосбор проверенных работ
  в отстойник с ручным одобрением → индексация в базу

Исправления:
- openalex parser: тип article (не journal-article), убран is_oa-фильтр
- winnowing: приведение xxh64 к signed int64 (фикс bigint out of range)
- bcrypt пин 4.0.1 (совместимость с passlib 1.7.4)
- alembic: prepend_sys_path + asyncpg-драйвер
- frontend: контракт Task (public_id вместо id), react-dropzone

Инфраструктура:
- docker-compose.test.yml: api+frontend+воркеры локально, БД/кэш/хранилище/
  брокер/LLM — на удалённых серверах через .env
- .gitignore: исправлено ошибочное игнорирование кода services/*/app/models/
- LICENSE: проприетарная

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
jze9
2026-05-30 20:45:53 +05:00
parent 9ee5ccdc3f
commit 9894fa9320
50 changed files with 5680 additions and 58 deletions

48
LICENSE Normal file
View File

@@ -0,0 +1,48 @@
Proprietary License
Проприетарная лицензия
Copyright (c) 2026 jze9. Все права защищены. All rights reserved.
================================================================================
RU
================================================================================
Программное обеспечение «Академический помощник» (далее «ПО») и весь
сопутствующий исходный код, документация и материалы являются собственностью
правообладателя (jze9) и защищены законодательством об авторском праве.
1. Без предварительного письменного разрешения правообладателя ЗАПРЕЩАЕТСЯ:
- копировать, распространять или публиковать ПО или его части;
- изменять, декомпилировать, дизассемблировать ПО или создавать
производные работы;
- использовать ПО в коммерческих или некоммерческих целях третьими лицами;
- передавать, сублицензировать, сдавать в аренду или иным образом
предоставлять доступ к ПО третьим лицам.
2. Доступ к исходному коду предоставляется исключительно для целей разработки
и эксплуатации, согласованных с правообладателем.
3. ПО предоставляется «КАК ЕСТЬ», без каких-либо гарантий, явных или
подразумеваемых. Правообладатель не несёт ответственности за любой ущерб,
возникший в результате использования ПО.
================================================================================
EN
================================================================================
The "Academic Assistant" software (the "Software") and all accompanying source
code, documentation, and materials are the property of the copyright holder
(jze9) and are protected by copyright law.
1. Without prior written permission of the copyright holder, it is PROHIBITED to:
- copy, distribute, or publish the Software or any part of it;
- modify, decompile, disassemble, or create derivative works;
- use the Software for commercial or non-commercial purposes by third parties;
- transfer, sublicense, rent, or otherwise provide access to third parties.
2. Access to the source code is granted solely for development and operation
purposes agreed upon with the copyright holder.
3. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED. THE COPYRIGHT HOLDER SHALL NOT BE LIABLE FOR ANY DAMAGES ARISING
FROM THE USE OF THE SOFTWARE.