Leonid Pershin 9c865e1faa
build / backend (push) Successful in 3m23s
build / frontend (push) Successful in 34s
tests / backend-tests (push) Successful in 1m38s
Add CreateTemplate endpoint and related functionality for channels without grids
Implement a new API endpoint to create a template for channels lacking a grid, enhancing the template management capabilities. Update frontend components to support the creation of templates directly from the channel detail view, including user feedback and translations for improved clarity. Add integration tests to ensure the new functionality works as expected.
2026-07-26 20:10:47 +03:00

TeleWave

build tests coverage

TeleWave — сервис онлайн-каналов: пользователи смотрят сетку каналов, видео отдаётся из хранилища на сервере, админ управляет каналами и пользователями.

Текущее состояние — рабочий вертикальный срез: вход/регистрация, роли, пользователи, админка; библиотека шоу/серий, загрузка и обработка медиа (ffmpeg → HLS), метаданные (TMDb/OMDb), каталог каналов, планировщик эфира (реклама, ТВ-заставки, weekly-override'ы) и live-раздача HLS с публичным просмотром сетки. Приложение (фронт + бек) поставляется единым Docker-образом; PostgreSQL — внешний, не поднимается через compose.

Стек

Слой Технологии
Backend C# / .NET 10, ASP.NET Core Web API, Clean Architecture, CQRS (LiteCqrs.Net), EF Core
БД PostgreSQL (Npgsql)
Auth ASP.NET Core Identity + JWT (access + refresh, ротация)
Frontend React 19 + Vite + TypeScript, TanStack Query/Router, shadcn/ui + Tailwind v4 (ретро-CRT тема)
Упаковка Единый Docker-образ (API + статика SPA); PostgreSQL — внешний сервер

Развёртывание

Postgres не входит в compose — база и пользователь создаются заранее на внешнем сервере БД:

-- на сервере БД (psql -h <хост БД> -U postgres)
CREATE USER telewave WITH PASSWORD 'change-me-strong-db-password';
CREATE DATABASE telewave OWNER telewave;

Затем на хосте с приложением:

cp .env.example .env
# заполнить ConnectionStrings__Default (хост/база/юзер/пароль БД), Jwt__SigningKey, AdminSeed__*
docker compose up -d --build
# → http://localhost:8085  (админ — логин/пароль из .env, AdminSeed__Username/Password)

Локальная разработка

# backend, из backend/
dotnet build && dotnet test tests/TeleWave.Domain.Tests tests/TeleWave.Application.Tests
dotnet run --project src/TeleWave.Api

# frontend, из frontend/
pnpm install
pnpm dev          # проксирует /api на localhost:8080

Документация

Пример переменных окружения (сид админа, БД, JWT) — .env.example. Инструкции для AI-ассистента (Claude Code) — в CLAUDE.md (стек, архитектурные правила, доменные инварианты, соглашения по коду).

Лицензия

Не определена.

S
Description
No description provided
Readme
3.5 MiB
Languages
C# 73.4%
TypeScript 26.3%
CSS 0.2%
Dockerfile 0.1%