main
build-and-deploy / deploy (push) Successful in 3m27s
Limit auth/read/write JSON traffic per IP while leaving audio streams unrestricted; close JWT+deviceId IDOR and add path/input guards. Co-authored-by: Cursor <cursoragent@cursor.com>
تفسیر قرآن (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 labeldeploy - Namespace:
tafsirquran - وب (Blazor WASM): http://185.252.31.44:30820/
- API: http://185.252.31.44:30821/
- DB: MSSQL
mssql-svc.platform/ databaseTafsirQuran - صوت: PVC
tafsirquran-audio→ mount/data/audio
پوش به main دیپلوی میکند. ایمپورت صوت (یکبار، طولانی):
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
اجرا (توسعه)
# دیتابیس (پورت 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
dotnet build src/TafsirQuran.Maui -f net9.0-android
روی امولاتور اندروید، API روی http://10.0.2.2:5080 تنظیم شده است و usesCleartextTraffic برای توسعه فعال است.
Description
Languages
C#
63.8%
HTML
19.6%
CSS
7.9%
Shell
3.2%
JavaScript
3.1%
Other
2.4%