Add plugin platform with modular backend and frontend registry.
Split graph/import/meta into Django apps, add API v1 with OpenAPI and pytest, and introduce plugin registry with the tags reference plugin on both FE and BE. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -44,17 +44,25 @@ docker compose up --build
|
||||
## Архитектура frontend
|
||||
|
||||
```text
|
||||
views / components
|
||||
views / features / components
|
||||
↓
|
||||
Pinia store (orchestration)
|
||||
↓
|
||||
application/usecases
|
||||
application/usecases + application/services
|
||||
↓
|
||||
infrastructure/repositories → local (IndexedDB) | remote (REST)
|
||||
↓
|
||||
changelog + syncAdapter (noop, подготовка к sync)
|
||||
core/pluginRegistry + plugins/* (optional extensions)
|
||||
↓
|
||||
changelog + syncAdapter (hybrid-ready)
|
||||
```
|
||||
|
||||
API v1: `/api/v1/` (legacy `/api/` сохранён). OpenAPI: `/api/v1/docs/`.
|
||||
|
||||
Плагины: `VITE_ENABLED_PLUGINS=tags` (frontend), `ENABLED_PLUGINS=tags` (backend).
|
||||
|
||||
Документация для авторов плагинов: [docs/PLUGIN_AUTHOR_GUIDE.md](docs/PLUGIN_AUTHOR_GUIDE.md).
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```text
|
||||
@@ -92,6 +100,8 @@ social-graph/
|
||||
| GET | `/api/network-map-graph/` | Граф карты сети |
|
||||
| GET | `/api/relation-types/` | Типы связей |
|
||||
| GET | `/api/network-map-choices/` | Справочники карты |
|
||||
| GET | `/api/v1/meta/choices/` | Все справочники (типы связей, сферы, круги) |
|
||||
| GET | `/api/v1/plugins/` | Манифест включённых плагинов |
|
||||
| POST | `/api/import/` | Импорт CSV/JSON/vCard (legacy) |
|
||||
|
||||
В режиме `local` импорт и бэкап выполняются в браузере (экран **Импорт**).
|
||||
|
||||
Reference in New Issue
Block a user