Skip to content

forafox/Zadachnik

Repository files navigation

Task Management System (Zadachnik)

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

Zadachnik – это система управления задачами, разработанная с использованием Kotlin и Spring Boot для бэкенда и React с TypeScript для фронтенда. Система позволяет создавать, редактировать, удалять и просматривать задачи. Реализована поддержка аутентификации и авторизации пользователей, ролевая система, а также API для работы с задачами.


Функциональные возможности

Бэкенд

  • Создание, редактирование, удаление и просмотр задач
  • Управление статусами и приоритетами задач
  • Назначение исполнителей задач
  • Добавление комментариев к задачам
  • Фильтрация и пагинация списка задач
  • Аутентификация и авторизация пользователей через JWT
  • Разграничение прав доступа (администратор, пользователь)
  • API-документация с помощью Swagger UI

Фронтенд

  • Отображение списка задач с фильтрацией и пагинацией
  • Создание, редактирование и удаление задач
  • Управление статусами задач
  • Добавление и просмотр комментариев к задачам
  • Адаптивный дизайн для различных устройств
  • Аутентификация и авторизация через JWT

Технологии

Бэкенд

  • Язык: Kotlin
  • Фреймворк: Spring Boot
  • Безопасность: Spring Security, JWT
  • База данных: PostgreSQL
  • Документация API: OpenAPI, Swagger UI
  • Система контейнеризации: Docker, Docker Compose
  • Тестирование: JUnit, Mockito, TestContainers
  • Миграции базы данных: Liquibase
  • Логгирование: AOP (Aspect-Oriented Programming)
  • Покрытие тестами: JaCoCo (80%+)
  • CI/CD: GitHub Actions

Фронтенд

  • Язык: TypeScript
  • Библиотека UI: React
  • Управление состоянием данных: React Query
  • Маршрутизация: TanStack Router
  • Компоненты: shadcn/ui
  • Сборка: Vite
  • Тестирование: Jest, React Testing Library

Требования для запуска

  • Docker и Docker Compose
  • Node.js (для фронтенда) или npm (для фронтенда без Node.js)
  • Gradle (если запуск бэкенда без контейнеризации)

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

Бэкенд

  1. Клонирование репозитория

    git clone https://github.com/forafox/Zadachnik.git
  2. Создание .env файла

    cp .env.example .env
  3. Запуск в режиме разработки

    make dev-up
  4. Остановка сервиса

    make dev-down
  5. Запуск базы данных PostgreSQL отдельно

    make dev-up-postgres
  6. Сборка образов

    make build-backend
  7. Запуск в продакшн режиме

    make prod-up
  8. Остановка продакшн окружения

    make prod-down

Тестирование

Бэкенд

Запуск тестов осуществляется командой:

cd backend && ./gradlew test

About

Курсовая работа по дисциплине "Информационные системы"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •