Skip to content

cfgi-lul/kanban-board

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

139 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Канбан Доска (Kanban Board)

Описание проекта

Канбан Доска - это полнофункциональное веб-приложение для управления задачами и проектами, построенное с использованием современных технологий и архитектурных принципов. Проект представляет собой дипломную работу, демонстрирующую навыки разработки сложных веб-приложений.

Архитектура проекта

Проект построен по принципу микросервисной архитектуры с четким разделением на фронтенд и бэкенд:

kanban-board/
├── backend/                    # Spring Boot бэкенд
│   └── Board/                 # Основное приложение
├── frontend/                   # Angular фронтенд
│   └── kanban-board-client-app/
├── docker-compose.yml          # Docker конфигурация
└── README.md                  # Документация

Основные возможности

Управление досками

  • Создание и настройка канбан досок
  • Настройка колонок и рабочих процессов
  • Ролевая система доступа
  • Аналитика и метрики производительности

Управление задачами

  • Создание и редактирование задач
  • Система приоритетов и меток
  • Прикрепление файлов и комментариев
  • Отслеживание истории изменений

Пользовательская система

  • Регистрация и аутентификация
  • Управление профилями пользователей
  • Система ролей и разрешений
  • Уведомления в реальном времени

Дополнительные функции

  • Поиск по задачам и доскам
  • Экспорт данных
  • Интеграция с внешними сервисами
  • Аналитика и отчеты

Технологический стек

Бэкенд (Backend)

  • Framework: Spring Boot 3.4.1
  • Архитектура: Domain-Driven Design (DDD)
  • База данных: H2 (разработка)
  • Безопасность: Spring Security + JWT
  • Документация: Swagger/OpenAPI
  • Real-time: WebSocket
  • Сборка: Maven
  • Java: 17

Фронтенд (Frontend)

  • 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

Установка и запуск

  1. Клонирование репозитория
git clone <repository-url>
cd kanban-board
  1. Запуск с помощью Docker Compose
docker-compose up -d
  1. Или локальная разработка

Бэкенд:

cd backend/Board
./mvnw spring-boot:run

Фронтенд:

cd frontend/kanban-board-client-app
npm install
npm start

Доступ к приложению

Структура проекта

Бэкенд (Domain-Driven Design)

backend/Board/src/main/java/com/kanban/
├── board/                    # Контекст досок
│   ├── domain/              # Доменный слой
│   ├── application/          # Прикладной слой
│   ├── infrastructure/       # Инфраструктурный слой
│   └── interfaces/           # Интерфейсный слой
├── task/                     # Контекст задач
├── user/                     # Контекст пользователей
└── shared/                   # Общий контекст

Фронтенд (Angular)

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 test

Фронтенд тесты

cd 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:check

Генерация API клиента

cd frontend/kanban-board-client-app
npm run generate-api

Документация

Вклад в проект

  1. Форкните репозиторий
  2. Создайте ветку для новой функции
  3. Внесите изменения
  4. Добавьте тесты
  5. Создайте Pull Request

Лицензия

Этот проект является дипломной работой и предназначен для образовательных целей.

Автор

Разработано как дипломный проект по специальности "Программная инженерия".


Примечание: Это полнофункциональное приложение, демонстрирующее современные подходы к разработке веб-приложений с использованием Spring Boot и Angular.

About

kanban board for graduating

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors