# تفسیر قرآن (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` - وب: http://185.252.31.44:30820/ - API: http://185.252.31.44:30821/ پوش به `main` یا `workflow_dispatch` تصویرها را می‌سازد، به k3s import می‌کند و رول‌اوت می‌کند. ## پیش‌نیاز توسعه محلی - .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` برای توسعه فعال است.