Skip to content

ITBooster-practice/tracker-task

Repository files navigation

Tracker Task

Открытая система управления IT-проектами

📋 О проекте

Лёгкая, современная альтернатива Jira и Яндекс.Трекер для разработчиков и небольших команд.

Цель

Создать open-source решение для управления проектами, спринтами и задачами, которое просто развернуть на собственном сервере.

Возможности

  • 📊 Управление проектами и задачами
  • 🏃 Спринты и бэклог
  • 🐛 Issue tracking
  • 🚀 Простое развёртывание
  • 💻 Открытый исходный код

🚀 Быстрый старт

# Установка зависимостей
pnpm install

# Запуск в режиме разработки
pnpm dev

# Запуск тестов
pnpm test

# Сборка проекта
pnpm build

📦 Структура монорепозитория

tracker-task/
├── apps/
│   ├── api/        # NestJS API сервер
│   └── web/        # Next.js веб-приложение
├── packages/
│   ├── api/        # Общие типы и DTO
│   ├── ui/         # UI компоненты
│   ├── eslint-config/    # Конфигурация ESLint
│   ├── vitest-config/    # Конфигурация Vitest
│   └── typescript-config/ # Конфигурация TypeScript

Полезные ссылки:

Стек

Архитектурная методология

Инструменты

  • ESLint - для статической проверки кода
  • Prettier - для форматирования кода
  • Husky - для запуска скриптов при коммитах и пушах
  • sentry (используем glitchtip как альтернативу, тк sentry в рф не работает, но API там тот же) - для мониторинга ошибок в продакшене
  • Vitest - для тестирования
  • React Testing Library - для тестирования компонентов
  • Storybook - для разработки и тестирования UI компонентов в изоляции
  • pnpm

Качество кода

  • Обязательный линтинг + линтер на правила соблюдения FSD
  • Обязательное код ревью каждой задачи
  • Минимум кастомных стилей по месту, используем разработанный UI kit
  • Обязателен CI пайплайн

Стек

Инструменты

  • ESLint - для статической проверки кода
  • Prettier - для форматирования кода
  • Husky - для запуска скриптов при коммитах и пушах
  • Supabase - для управления базой данных и аутентификации
  • Docker - для контейнеризации приложений
  • pnpm

Продакшн

  • Grafana Loki - для логирования и мониторинга
  • Prometheus - для мониторинга и алертинга
  • Promtail deprecated | Alloy - для отправки логов в Grafana Loki
  • Grafana - для визуализации метрик и логов
  • node_exporter - для экспорта метрик системы
  • cAdvisor - для мониторинга контейнеров
  • Запуск в проде в нескольких инстансах для обеспечения отказоустойчивости

Качество кода

  • Обязательный линтинг
  • Обязательное код ревью каждой задачи
  • Соблюдение модульной архитектуры + слоистой структуры проекта.
  • Обязателен CI пайплайн

Общее

  • CI_CD - для автоматизации сборки, тестирования и деплоя приложения

  • Обязательно на каждый пул реквест прогоняем линтеры, тесты, билд проекта, typecheck через ts.

  • Релизы через отведение ветки + нажатие кнопки release в github.

  • Пуш в dev/trunk/master - запрещен напрямую, только через ПР с код ревью

  • Работа с гит через trunk based подход

  • При деплое - обязательная контейнеризация

  • Продакшн

  • Сбор логов и метрик в проде - обязателен.

  • Хранение переменных окружения .env + github

  • Ведение документации (запуск проекта, переменные, особенности и тд)

  • Релиз в прод должен быть легким и удобным, 1 нажатием кнопки в гитхабе.

  • Git(ITBooster)

  • Docker(ITBooster)

  • Соглашение о коммитах

Git config

Проверьте настройки гита, чтобы коммиты имели правильного автора.:

git config --global user.name "Ваше имя"
git config --global user.email "ваш.email@example.com"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors