Современный высокопроизводительный таск-трекер для командной разработки. Проект спроектирован по принципам 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 + Nginx (Reverse Proxy)
- Аутентификация и пользователи: Регистрация, авторизация (JWT + Claims), управление личным профилем.
- Управление проектами: Создание, редактирование и удаление проектов; управление участниками и ролями (Project Manager, Developer, QA, Observer); система инвайтов в команду (принять/отклонить).
- Работа с задачами (Issues): Создание, просмотр деталей, редактирование и удаление задач. Автогенерация уникальных номеров задач внутри проекта (префиксы), назначение исполнителей, Story Points, тегирование и комментарии. Вывод сквозных «Активных задач пользователя» со всех проектов на один экран.
- Система уведомлений & UI/UX: Умный роутинг (при переходе по уведомлению из другого проекта система автоматически переключает контекст активного проекта в шапке).
- DevOps-инфраструктура: Полная контейнеризация всех сервисов, оркестрация через
docker-compose, и маршрутизация/CORS через Nginx в качестве Reverse Proxy.
Для удобства поддержки техническая документация и планы по развитию разделены на специализированные файлы:
- ⏳ План разработки и подробный Бэклог — статусы по Канбан-доске, спринтам и файловому хранилищу.
- ⚙️ Документация по Backend (API) — структура слоев, миграции и контракты.
- 💻 Документация по Frontend — архитектура локализации, сторы и UI-компоненты.
- Убедитесь, что у вас установлены 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
- Установите зависимости и запустите сервер разработки:
pnpm install
pnpm dev