2026-02-10 - 2026-08-10
Overview
8 Pull requests merged by 1 user
Merged
#8 Dev
Merged
#7 remove bcrypt from registration key, use plain string comparison
Merged
#6 store plaintext secret key in .env, hash at startup
Merged
#5 - fix Dockerfile
Merged
#4 Dev
Merged
#3 Dev
Merged
#2 Dev
Merged
#1 feat: add Swagger UI docs at /api_info endpoint
1 Issue closed from 1 user
Closed
#9 [TEST] удалить (закрыт)
50 Issues created by 1 user
Opened
#9 [TEST] удалить (закрыт)
Opened
#10 [SEC-001][критический] IDOR: любой пользователь может обновить чужую геопозицию
Opened
#12 [SEC-003][высокий] JWT без срока действия
Opened
#13 [SEC-004][критический] JWT secret с fallback на пустую строку
Opened
#14 [SEC-005][высокий] Конфигурация сломана: нет dotenv.load()
Opened
#15 [SEC-006][критический] Секреты закоммичены в git (bin/.env)
Opened
#16 [SEC-007][критический] Пароли пишутся в логи при login
Opened
#17 [SEC-008][высокий] Открытая регистрация без ограничений
Opened
#18 [SEC-009][высокий] Нет защиты от brute-force на login
Opened
#11 [SEC-002][критический] Нет авторизации на уровне share/watch
Opened
#23 [SEC-014][высокий] docker-compose нерабочен и небезопасен
Opened
#25 [SEC-016][средний] Задокументированная безопасность не реализована
Opened
#24 [SEC-015][средний] Нет валидации ввода и обработки ошибок
Opened
#22 [SEC-013][высокий] Слабые секреты по умолчанию в Docker-образе
Opened
#21 [SEC-012][средний] Сервер слушает 0.0.0.0 (все интерфейсы)
Opened
#20 [SEC-011][высокий] SSL к PostgreSQL отключён
Opened
#19 [SEC-010][средний] CORS Access-Control-Allow-Origin: *
Opened
#26 [SEC-017][высокий] Share-ссылки только in-memory
Opened
#27 [API-001][высокий] README: query-параметр unique_id, в коде — share_id
Opened
#28 [API-002][средний] README: неверный формат ответа POST /login
Opened
#29 [API-003][средний] README: POST /reg «ничего не возвращает» — неверно
Opened
#30 [API-004][средний] README: неверная схема ответа GET /watch
Opened
#31 [API-005][средний] README: PUT /geo?id=N как integer — в коде UUID
Opened
#32 [API-006][низкий] Дублирование OpenAPI: api.yaml и web/swagger/swagger.yaml
Opened
#33 [ARCH-001][средний] DatabaseProvider — монолит (~357 строк), смешение ответственностей
Opened
#34 [ARCH-002][средний] README описывает bin/repositories/ — директории нет
Opened
#35 [ARCH-003][низкий] Мёртвый код в DatabaseProvider
Opened
#36 [ARCH-004][средний] Нет graceful shutdown — close() БД не вызывается
Opened
#37 [ARCH-005][низкий] Несогласованное именование проекта
Opened
#38 [CODE-001][низкий] Неиспользуемые зависимости в pubspec.yaml
Opened
#39 [CODE-002][низкий] Таблица logs пишется, но не читается приложением
Opened
#40 [TEST-001][высокий] Тест GET / ожидает index.html с текстом — файла нет
Opened
#41 [TEST-002][высокий] Тест POST /reg ожидает поле login в ответе
Opened
#42 [TEST-003][высокий] Тест /watch использует unique_id вместо share_id
Opened
#43 [TEST-004][средний] Тест /watch без Authorization ожидает 404 вместо 401
Opened
#47 [TEST-008][низкий] test_bcrypt.dart — scratch-скрипт вне test/
Opened
#51 [OPS-004][низкий] .dockerignore исключает Dockerfile и docker-compose из build context
Opened
#50 [OPS-003][средний] Неструктурированное логирование (print)
Opened
#49 [OPS-002][средний] Нет health/readiness эндпоинтов
Opened
#48 [OPS-001][высокий] Отсутствует CI/CD pipeline
Opened
#46 [TEST-007][высокий] Нет test harness для PostgreSQL (CI/local)
Opened
#45 [TEST-006][средний] Нет тестов PUT /geo
Opened
#44 [TEST-005][высокий] Нет E2E теста reg → login → share → watch → geo
Opened
#52 [DOC-001][средний] README: в секции login приведён curl на /reg
Opened
#53 [DOC-002][средний] README: противоречие порта 8080 vs 9090
Opened
#54 [DOC-003][средний] README: нет инструкций Docker и Swagger
Opened
#55 [DOC-004][средний] CHANGELOG не отражает историю (22 коммита)
Opened
#56 [DOC-005][высокий] migration.sql устарел — расходится с runtime DDL
Opened
#57 [DOC-006][низкий] README MIT — файла LICENSE нет
Opened
#58 [DOC-007][низкий] .env.example и README — неполный список env vars