Files
TafsirQuran/README.md
T
admin ae746d65ba
build-and-deploy / deploy (push) Failing after 15m11s
Migrate to Blazor WASM, MSSQL platform DB, and durable audio PVC.
Remove in-cluster Postgres; serve WASM via nginx; add audio import job for Gooya archives.
2026-10-09 22:40:53 +03:30

67 lines
2.3 KiB
Markdown

# تفسیر قرآن (TafsirQuran)
اپ تفسیر قرآن با استک .NET: ASP.NET Core API + PostgreSQL + Blazor UI مشترک (وب/PWA و MAUI Android).
## استقرار (Gitea + k3s)
- ریپو: https://git.se.kbs1.ir/admin/TafsirQuran
- CI: `.gitea/workflows/deploy.yaml` روی runner label `deploy`
- Namespace: `tafsirquran`
- وب (Blazor WASM): http://185.252.31.44:30820/
- API: http://185.252.31.44:30821/
- DB: MSSQL `mssql-svc.platform` / database `TafsirQuran`
- صوت: PVC `tafsirquran-audio` → mount `/data/audio`
پوش به `main` دیپلوی می‌کند. ایمپورت صوت (یک‌بار، طولانی):
```bash
kubectl -n tafsirquran apply -f k8s/audio-import-job.yaml
kubectl -n tafsirquran logs -f job/tafsirquran-audio-import
kubectl -n tafsirquran rollout restart deploy/tafsirquran-api # resync episodes
```
## پیش‌نیاز توسعه محلی
- .NET 9 SDK
- Docker (برای PostgreSQL)
- برای بیلد اندروید: workload `maui-android` و Android SDK
## اجرا (توسعه)
```bash
# دیتابیس (پورت 5434 تا با Postgresهای دیگر تداخل نداشته باشد)
docker run -d --name tafsirquran-db \
-e POSTGRES_USER=tafsir -e POSTGRES_PASSWORD=tafsir_dev -e POSTGRES_DB=tafsirquran \
-p 5434:5432 postgres:16-alpine
# API (پورت 5080)
dotnet run --project src/TafsirQuran.Api
# وب / PWA
dotnet run --project src/TafsirQuran.Web
```
API Base پیش‌فرض وب: `http://localhost:5080/` — Connection string پیش‌فرض: `localhost:5434`
## پروژه‌ها
| پروژه | نقش |
|--------|------|
| `TafsirQuran.Api` | REST API + فایل صوت + Auth اختیاری |
| `TafsirQuran.Domain` | Entityها |
| `TafsirQuran.Infrastructure` | EF Core + PostgreSQL |
| `TafsirQuran.Shared` | DTO و کلاینت HTTP |
| `TafsirQuran.UI` | UI مشترک Blazor |
| `TafsirQuran.Web` | Host وب + PWA |
| `TafsirQuran.Maui` | پوسته اندروید (Blazor Hybrid) |
## MAUI Android
نیاز به Android SDK دارد (`ANDROID_HOME`). workload: `dotnet workload install maui-android`
```bash
dotnet build src/TafsirQuran.Maui -f net9.0-android
```
روی امولاتور اندروید، API روی `http://10.0.2.2:5080` تنظیم شده است و `usesCleartextTraffic` برای توسعه فعال است.