Современный высокопроизводительный таск-трекер для командной разработки. Проект спроектирован по принципам Clean Architecture и DDD (Domain-Driven Design), обеспечивая высокую масштабируемость и независимость слоев.
Приложение разделено на два изолированных слоя: клиент на Nuxt 4 и бэкенд ASP.NET Web API на .NET 10. Вся инфраструктура полностью контейнеризирована.
- 🏗️ Архитектура системы
- 🛠️ Стек технологий
- 📸 Интерфейс системы (Скриншоты)
- 📌 Реализованный функционал (Текущая версия)
- 📖 Документация и Бэклог
- 🚀 Как запустить проект
Решение на .NET 10 разделено на 4 независимых проекта для обеспечения слабой связанности и строгого контроля зависимостей:
SigmaTrack.Domain(Ядро системы): Чистый C# без внешних зависимостей. Содержит доменные сущности, перечисления и бизнес-исключения.SigmaTrack.Application(Бизнес-логика): Реализован по принципу Vertical Slices (Features). Каждая фича (например,CreateIssue) изолирована и содержит UseCase, хэндлеры, DTO и FluentValidation.SigmaTrack.Infrastructure(Инфраструктура): Реализует интерфейсы доступа к данным (контекст БД EF Core, миграции PostgreSQL) и внешние интеграции.SigmaTrack.WebApi(Точка входа): Minimal APIs, конфигурация DI-контейнера, JWT-аутентификация, Claims-авторизация, интеграция со Scalar иGlobalExceptionHandler(формат RFC 7807).
- Framework: Nuxt 4 (Vue 3, Composition API) с полной типизацией на TypeScript .
- UI & Styles: Nuxt UI + Tailwind CSS (Адаптивный дизайн, поддержка темной/светлой темы) .
- State Management: Pinia (Модульные сторы для управления проектами, задачами и уведомлениями) .
- Internationalization: Nuxt i18n (Архитектура с разделением локалей на отдельные файлы конфигурации RU/EN) .
- Runtime & СУБД: .NET 10 (C#) + PostgreSQL
- ORM & Валидация: Entity Framework Core + FluentValidation
- Фронтенд: Node.js + Nuxt 4 + Tailwind CSS + Pinia
- DevOps & Инфраструктура: Docker + Docker Compose (Docker Volume) + Nginx (Reverse Proxy)
- Аутентификация и пользователи:
- Регистрация, авторизация (JWT + Claims).
- Управление личным профилем и расширенные настройки (включая параметры приватности и навыки).
- Публичный просмотр профиля любого другого пользователя.
- Поиск сотрудников по всей системе для приглашения в проекты.
- Управление проектами: Создание, редактирование и удаление проектов; управление участниками и ролями (Project Manager, Developer, QA, Observer); система инвайтов в команду (принять/отклонить).
- Работа с задачами (Issues): Создание, просмотр деталей, редактирование и удаление задач. Автогенерация уникальных номеров задач внутри проекта (префиксы), назначение исполнителей, Story Points, тегирование и комментарии. Вывод сквозных «Активных задач пользователя» со всех проектов на один экран.
- Управление спринтами (Scrum-процесс): Создание и планирование спринтов, установка целей (Sprint Goal), дат и емкости команды (Capacity). Динамическое добавление/удаление задач из бэклога. Полноценный жизненный цикл спринта: запуск (Start), завершение (Complete) и отмена (Cancel).
- Работа с файлами & Обсуждения: Интеграция системы комментариев внутри задач с возможностью прикрепления вложений (файлов, изображений).
- Система уведомлений & UI/UX: Умный роутинг (при переходе по уведомлению из другого проекта система автоматически переключает контекст активного проекта в шапке).
- DevOps-инфраструктура: Полная контейнеризация всех сервисов, оркестрация через
docker-compose, и маршрутизация/CORS через Nginx в качестве Reverse Proxy.
Для удобства поддержки техническая документация и планы по развитию разделены на специализированные файлы:
- ⏳ План разработки и подробный Бэклог — статусы по Канбан-доске, аналитике, спринтам и файловому хранилищу.
- ⚙️ Документация по Backend (API) — структура слоев, архитектурные решения, Scalar-интеграция, миграции и Docker-контейнеры.
- 💻 Документация по Frontend — особенности Nuxt 4, Pinia-сторы, архитектура локализации (i18n) и сборка билда.
- Убедитесь, что у вас установлены Docker и Docker Compose.
- В корневой папке проекта (рядом с
docker-compose.yml) создайте файл.envдля инициализации контейнеров:
# Конфигурация базы данных PostgreSQL
DB_NAME=SigmaTrackDb
DB_USER=postgres
DB_PASSWORD=your_secure_password
# Окружение бэкенда
BACKEND_ENV=Development
- Выполните команду для сборки и запуска всей инфраструктуры:
docker-compose up -d --buildПосле сборки Nginx начнет слушать порт 80, и приложение будет доступно по адресу http://localhost.
-
Перейдите в папку
backend/SigmaTrack.WebApi. -
Скопируйте
appsettings.jsonвappsettings.Development.jsonи укажите вашу строку подключения к PostgreSQL вConnectionStrings:DefaultConnection. -
Примените миграции к базе данных:
dotnet ef database update --project SigmaTrack.Infrastructure --startup-project SigmaTrack.WebApi
- Запустите API:
dotnet run --project SigmaTrack.WebApi
- Перейдите в папку
frontend/, скопируйте.env.exampleв.envи укажите адрес запущенного API:
NUXT_PUBLIC_API_BASE=http://localhost:5069- Установите зависимости и запустите сервер разработки:
npm install
npm run dev
















