# TeleWave [![build](https://gitea.hsrv.site/mrleo1nid/TeleWave/actions/workflows/build.yml/badge.svg)](https://gitea.hsrv.site/mrleo1nid/TeleWave/actions?workflow=build.yml) [![tests](https://gitea.hsrv.site/mrleo1nid/TeleWave/actions/workflows/test.yml/badge.svg)](https://gitea.hsrv.site/mrleo1nid/TeleWave/actions?workflow=test.yml) **TeleWave** — сервис онлайн-каналов: пользователи смотрят сетку каналов, видео отдаётся из хранилища на сервере, админ управляет каналами и пользователями. > Текущее состояние — **база**: вход/регистрация, роли, пользователи, минимальная админка, > приветственная главная страница. Каталог каналов и раздача видео — следующий этап, пока не > реализованы. Приложение (фронт + бек) поставляется **единым Docker-образом**; PostgreSQL — > **внешний**, не поднимается через compose. ## Стек | Слой | Технологии | | -------- | ---------------------------------------------------------------------------------------- | | Backend | C# / .NET 10, ASP.NET Core Web API, Clean Architecture, CQRS ([LiteCqrs.Net](https://github.com/mrleo1nid/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 — база и пользователь создаются заранее на внешнем сервере БД: ```sql -- на сервере БД (psql -h <хост БД> -U postgres) CREATE USER telewave WITH PASSWORD 'change-me-strong-db-password'; CREATE DATABASE telewave OWNER telewave; ``` Затем на хосте с приложением: ```bash cp .env.example .env # заполнить ConnectionStrings__Default (хост/база/юзер/пароль БД), Jwt__SigningKey, AdminSeed__* docker compose up -d --build # → http://localhost:8085 (админ — логин/пароль из .env, AdminSeed__Username/Password) ``` ## Локальная разработка ```bash # 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`](.env.example). Инструкции для AI-ассистента (Claude Code) — в [`CLAUDE.md`](CLAUDE.md) (стек, архитектурные правила, доменные инварианты, соглашения по коду). ## Лицензия Не определена.