https://github.com/lap-lik/kanban
приложение для организации совместной работы над задачами небольшой команды
https://github.com/lap-lik/kanban
gson-library java-11 junit5
Last synced: 11 days ago
JSON representation
приложение для организации совместной работы над задачами небольшой команды
- Host: GitHub
- URL: https://github.com/lap-lik/kanban
- Owner: lap-lik
- Created: 2023-09-16T22:00:49.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-17T21:58:55.000Z (almost 2 years ago)
- Last Synced: 2025-09-01T10:29:05.996Z (10 months ago)
- Topics: gson-library, java-11, junit5
- Language: Java
- Homepage:
- Size: 117 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kanban

## Описание проекта
Трекер задач представляет собой бэкенд часть веб-сервисного монолитного приложения для управления задачами на основе канбан-доски. Приложение предназначено для организации совместной работы над задачами, позволяя пользователям выполнять операции создания, чтения, обновления и удаления.
## Основные возможности:
- **Типы задач:**
- общие задачи, подзадачи и эпики. Эпики могут содержать несколько подзадач.
- **Основное API:**
- создание, получение, удаление, обновление, управление статусами всех типов задач.
- **Дополнительное API:**
- получение истории просмотров задач.
## Функционал:
- **Сохранение данных:** в оперативной памяти, в файл на локальной машине (формат CSV) или на сервере.
- **Серверная архитектура:** два сервера — один для управления процессами сервера (приём, отправка, старт, остановка), другой для внутренней реализации логики.
## Стек технологий:
- **Java Core:**
- **ООП (Объектно-ориентированное программирование):**
- Методы и классы: инкапсуляция, наследование и полиморфизм.
- Принципы: DRY (не повторяйся), сокрытие полей, переопределение методов.
- Стандартные классы: `Object`, методы `equals`, `hashCode`, `toString`, работа с код-стилем и областями видимости.
- **Git:**
- Команды: `add`, `commit`, `status`, `branch`, `checkout`, `merge` и другие для контроля версий.
- **Алгоритмы и структуры данных:**
- Java Collections Framework: `List`, `Set`, `Map`, сортировки и алгоритмы поиска.
- Регулярные выражения для обработки строк.
- **Исключения:**
- Обработка исключений с помощью `try-catch-finally`, иерархия исключений и работа со стек-трейсом.
- **Работа с файлами:**
- Обработка файлов с помощью классов `File`, `Files`, `Path`, стримов и кодировок.
- **Функциональное программирование:**
- Функциональные интерфейсы (`Consumer`, `Supplier`, `Function`), лямбда-выражения и работа с дженериками.
- **Сетевое взаимодействие:**
- Клиент-серверная модель и сетевые протоколы.
- Работа с API (REST), сериализация данных в формате JSON с использованием библиотеки GSON.
- **Тестирование:**
- JUnit: библиотека для модульного тестирования кода.