Backend: .NET 10 Clean Architecture + LiteCqrs.Net + EF Core/PostgreSQL + Identity/JWT. Frontend: React 19 + Vite + TanStack Query/Router + Tailwind v4 with a retro CRT theme. Docker/compose deployment mirroring PnvPanel's conventions, scoped down to the current base feature set.
52 lines
2.7 KiB
Markdown
52 lines
2.7 KiB
Markdown
# TeleWave
|
|
|
|
**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 в docker-compose |
|
|
|
|
## Быстрый старт
|
|
|
|
Единый Docker-образ + PostgreSQL:
|
|
|
|
```bash
|
|
cp .env.example .env # заполнить AdminSeed__Password, Jwt__SigningKey и т.д.
|
|
docker compose up -d --build
|
|
# → http://localhost:8085 (админ — логин/пароль из .env, AdminSeed__Username/Password)
|
|
```
|
|
|
|
Локальная разработка (без Docker для приложения — только `db`):
|
|
|
|
```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) (стек, архитектурные
|
|
правила, доменные инварианты, соглашения по коду).
|
|
|
|
## Лицензия
|
|
|
|
Не определена.
|