- Framework: Spring Boot
- Архитектура: Независимые модули
- Авторизация: JWT (отдельный модуль)
- База данных: PostgreSQL (основная БД)
- Кэширование: Redis
- Framework: Angular
- UI: Легкий UI-kit
- Основные компоненты:
- Меню
- Таблицы
- Древовидные структуры
Помочь в создании и сопровождении любого продукта (или даже серии продуктов).
- Создание и управление roadmap на разных уровнях:
- Год
- Квартал
- Релиз
- Спринт
Иерархическая структура задач:
- Релиз
- Спринт
- Фича (Feature)
- Стори (Story)
- Задача (Task)
- Аналитика
- Дизайн
- Разработка
- Тестирование
- Сопровождение (баги, доработки)
- Расчетное и реальное время выполнения
- Сумма часов снизу вверх (агрегация по иерархии)
- Цена фичи
- Метрики по багам
- Анализ необходимости стабилизационного релиза
- Project Manager (PM)
- Team Lead
- Developer
- Tester
- Analyst
- Velocity команды
- Burndown charts
- Lead time / Cycle time
- Технический долг
- ROI фич
- Git (автоматическая связь коммитов с задачами)
- CI/CD (автоматизация сбора метрик)
- Импорт из других систем (Jira, YouTrack и т.д.)
Модульная архитектура для обеспечения:
- Масштабируемости
- Независимости модулей
- Легкости поддержки и развития
projector/
├── backend/ # Spring Boot бэкенд
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/projector/
│ │ │ │ ├── core/ # Основной модуль (JWT, Security)
│ │ │ │ │ ├── config/ # Конфигурации
│ │ │ │ │ ├── component/ # Spring компоненты
│ │ │ │ │ ├── service/ # Бизнес-логика
│ │ │ │ │ ├── model/ # Модели данных
│ │ │ │ │ └── exception/ # Исключения
│ │ │ │ ├── role/ # Модуль ролей
│ │ │ │ ├── user/ # Модуль пользователей
│ │ │ │ └── ProjectorApplication.java
│ │ │ └── resources/
│ │ │ └── application.yml
│ │ └── test/
│ ├── build.gradle
│ ├── settings.gradle
│ └── README.md
├── docker-compose.yml # Docker Compose для БД (PostgreSQL, Redis)
└── PROJECT.md
JWT токены реализованы аналогично проекту /qs/spectrum:
- Генерация на основе RSA ключей (RS256)
- Хранение в cookie клиента с именем
X-Auth - Модульная структура для независимости от основного функционала
Для разработки и тестирования доступен docker-compose.yml в корне проекта, который поднимает необходимые сервисы:
-
PostgreSQL 16 (
projector-postgres)- Порт:
5432 - База данных:
projector - Пользователь:
projector - Пароль:
projector - Данные сохраняются в Docker volume
postgres-data
- Порт:
-
Redis 7 (
projector-redis)- Порт:
6379 - Данные сохраняются в Docker volume
redis-data - AOF (Append Only File) включен для персистентности
- Порт:
# Запустить все сервисы
docker-compose up -d
# Остановить все сервисы
docker-compose down
# Остановить и удалить volumes (очистить данные)
docker-compose down -v
# Просмотр логов
docker-compose logs -f
# Проверка статуса
docker-compose psПараметры подключения соответствуют настройкам в application.yml:
DB_USERNAME=projector(по умолчанию)DB_PASSWORD=projector(по умолчанию)REDIS_HOST=localhost(по умолчанию)REDIS_PORT=6379(по умолчанию)