Канбан Доска - это полнофункциональное веб-приложение для управления задачами и проектами, построенное с использованием современных технологий и архитектурных принципов. Проект представляет собой дипломную работу, демонстрирующую навыки разработки сложных веб-приложений.
Проект построен по принципу микросервисной архитектуры с четким разделением на фронтенд и бэкенд:
kanban-board/
├── backend/ # Spring Boot бэкенд
│ └── Board/ # Основное приложение
├── frontend/ # Angular фронтенд
│ └── kanban-board-client-app/
├── docker-compose.yml # Docker конфигурация
└── README.md # Документация
- Создание и настройка канбан досок
- Настройка колонок и рабочих процессов
- Ролевая система доступа
- Аналитика и метрики производительности
- Создание и редактирование задач
- Система приоритетов и меток
- Прикрепление файлов и комментариев
- Отслеживание истории изменений
- Регистрация и аутентификация
- Управление профилями пользователей
- Система ролей и разрешений
- Уведомления в реальном времени
- Поиск по задачам и доскам
- Экспорт данных
- Интеграция с внешними сервисами
- Аналитика и отчеты
- Framework: Spring Boot 3.4.1
- Архитектура: Domain-Driven Design (DDD)
- База данных: H2 (разработка)
- Безопасность: Spring Security + JWT
- Документация: Swagger/OpenAPI
- Real-time: WebSocket
- Сборка: Maven
- Java: 17
- Framework: Angular 20.1.4
- UI библиотека: Angular Material
- Состояние: RxJS
- Маршрутизация: Angular Router
- Интернационализация: ngx-translate
- Тестирование: Jest
- Сборка: Angular CLI
- Контейнеризация: Docker
- Оркестрация: Docker Compose
- Линтинг: ESLint, Prettier, Stylelint
- Качество кода: Checkstyle, SpotBugs, PMD
- Java 17+
- Node.js 18+
- Docker и Docker Compose
- Git
- Клонирование репозитория
git clone <repository-url>
cd kanban-board- Запуск с помощью Docker Compose
docker-compose up -d- Или локальная разработка
Бэкенд:
cd backend/Board
./mvnw spring-boot:runФронтенд:
cd frontend/kanban-board-client-app
npm install
npm start- Фронтенд: http://localhost:4200
- Бэкенд API: http://localhost:8080
- Swagger документация: http://localhost:8080/swagger-ui.html
backend/Board/src/main/java/com/kanban/
├── board/ # Контекст досок
│ ├── domain/ # Доменный слой
│ ├── application/ # Прикладной слой
│ ├── infrastructure/ # Инфраструктурный слой
│ └── interfaces/ # Интерфейсный слой
├── task/ # Контекст задач
├── user/ # Контекст пользователей
└── shared/ # Общий контекст
frontend/kanban-board-client-app/src/app/
├── board/ # Компоненты досок
├── boards-list/ # Список досок
├── core/ # Основные компоненты
│ ├── api/ # API сервисы
│ ├── components/ # Общие компоненты
│ ├── guards/ # Защитники маршрутов
│ └── services/ # Сервисы
├── sign-in/ # Авторизация
├── sign-up/ # Регистрация
└── shared/ # Общие ресурсы
- JWT токены для аутентификации
- Ролевая система доступа (RBAC)
- Валидация входных данных
- Защита от CSRF атак
- Безопасная обработка файлов
cd backend/Board
./mvnw testcd frontend/kanban-board-client-app
npm test
npm run test:coverage- Метрики производительности
- Логирование операций
- Health checks
- Аналитика использования
Приложение поддерживает многоязычность:
- Русский язык
- Английский язык
- Легкое добавление новых языков
- Бэкенд: Checkstyle, SpotBugs, PMD
- Фронтенд: ESLint, Prettier, Stylelint
# Бэкенд
./mvnw checkstyle:check
# Фронтенд
npm run lint
npm run format:checkcd frontend/kanban-board-client-app
npm run generate-api- Форкните репозиторий
- Создайте ветку для новой функции
- Внесите изменения
- Добавьте тесты
- Создайте Pull Request
Этот проект является дипломной работой и предназначен для образовательных целей.
Разработано как дипломный проект по специальности "Программная инженерия".
Примечание: Это полнофункциональное приложение, демонстрирующее современные подходы к разработке веб-приложений с использованием Spring Boot и Angular.