Ветка: feature/refactoring-2026 (готова к merge)
Все задачи рефакторинга выполнены. Подробный список задач и статус — в TODO.md.
| Метрика | Значение |
|---|---|
| Файлов изменено | 35 |
| Строк добавлено | ~2700 |
| Строк удалено | ~950 |
| Тестов | 14 passed, 1 skipped |
| Коммитов | 9 |
src/__init__.py
src/handlers/__init__.py
src/handlers/field_commands.py
src/services/__init__.py
src/utils/__init__.py
src/utils/db_utils.py
src/utils/validators.py
static/js/modules/field-detail.js
static/js/modules/map-callbacks.js
static/js/modules/modals.js
static/js/modules/router.js
static/js/modules/stats.js
static/js/modules/tables.js
static/js/modules/theme.js
static/js/modules/uploads.js
static/js/modules/utils.js
static/js/modules/map_manager.js
app.py
db.py
src/handlers/field_handlers.py
src/handlers/owner_handlers.py
src/handlers/upload_handlers.py
src/services/kmz_service.py
src/services/raster_service.py
src/tasks.py
static/js/main.js
static/js/modules/api.js
static/js/modules/map_manager.js
static/js/modules/router.js
static/js/modules/uploads.js
static/index.html
static/css/style.css
Dockerfile
.dockerignore
README.md
REFACTORING_PLAN.md
GEMINI_CONTEXT.md
| Commit | Описание |
|---|---|
| e24997b | Начальный коммит рефакторинга |
| 682ea24 | Dockerfile: оптимизация сборки |
| f213616 | .dockerignore: уменьшен контекст |
| 39e4277 | Docs: обновлены README и REFACTORING_PLAN |
| 2bc622c | UI: страница загрузок |
| 32c71d9 | UI: улучшена кнопка меню |
| fae674b | UI: исправлено перекрытие кнопки |
| 4568da5 | UI: исправлено появление кнопки после закрытия |
| 73843fb | Docs: приведена документация в порядок |
- Декоратор
@db_connectionдля устранения дублирования БД кода - Валидация входных данных (
src/utils/validators.py) - Type hints во всех Python файлах
- Command pattern для обновлений полей
- Кэширование KMZ (
lru_cache(maxsize=128))
- ES6 модули (9 файлов вместо одного main.js)
- Класс
FieldMapperAppдля инкапсуляции состояния - Обработка ошибок в API вызовах
- Страница загрузок (отдельный UI)
- Круглая кнопка меню с анимацией
- Многоэтапная сборка
- Кэширование npm зависимостей
- .dockerignore: уменьшен контекст на ~40%
- Все тесты проходят (14 passed, 1 skipped)
- Backend рефакторинг завершён
- Frontend рефакторинг завершён
- Docker оптимизирован
- Документация обновлена
- UI улучшен
Готово к merge в master! ✅
Последнее обновление: 24 марта 2026 г.