first
This commit is contained in:
commit
fa9d154db9
260 files changed
+17643
No files matched your search
@@ -0,0 +1,45 @@
|
||||
# سامانه تیکتینگ فروش
|
||||
|
||||
پیادهسازی Django Modular Monolith بر اساس سند نیازمندی همین مخزن. رابط فارسی و RTL است و جریانهای مشتری، کارشناس، دسترسی خصوصی، پیام، فایل، OTP، Magic Link و Notification Outbox را پوشش میدهد.
|
||||
|
||||
## اجرای محلی
|
||||
|
||||
```powershell
|
||||
python -m venv .venv
|
||||
.\.venv\Scripts\python -m pip install -r requirements.txt
|
||||
.\.venv\Scripts\python manage.py migrate
|
||||
.\.venv\Scripts\python manage.py bootstrap
|
||||
.\.venv\Scripts\python manage.py createsuperuser
|
||||
.\.venv\Scripts\python manage.py runserver
|
||||
```
|
||||
|
||||
در محیط توسعه SQLite فعال است. OTP در ترمینال با پیشوند `[DEV OTP]` چاپ میشود. برای تست سریع، شماره `09202202129` با کد ثابت `12345` فقط در تنظیمات Development قابل ورود است؛ تنظیمات Production این میانبر را غیرفعال نگه میدارند. برای ایجاد کارشناس، User با `account_type=STAFF` و StaffProfile بسازید و او را عضو گروه `Sales Expert` یا `Sales Manager` کنید.
|
||||
|
||||
## اجرای Production با Docker
|
||||
|
||||
```powershell
|
||||
Copy-Item .env.example .env
|
||||
docker volume create customer_ticket_static
|
||||
docker volume create customer_ticket_media
|
||||
docker compose up --build
|
||||
docker compose exec web python manage.py createsuperuser
|
||||
```
|
||||
|
||||
قبل از استقرار مقادیر secret و host در `.env` را تغییر دهید. TLS و proxy اپلیکیشن توسط Traefik خود Coolify مدیریت میشود. migration، bootstrap و collectstatic هنگام شروع web به شکل خودکار اجرا میشوند. Nginx فقط static را سرو میکند و فایلهای آپلودی خصوصی پس از کنترل مجوز مستقیماً توسط Django تحویل داده میشوند.
|
||||
|
||||
راهنمای کامل تنظیم Coolify، volumeها، PostgreSQL خارجی و worker در [docs/DEPLOYMENT_COOLIFY.md](docs/DEPLOYMENT_COOLIFY.md) است.
|
||||
|
||||
## تست
|
||||
|
||||
```powershell
|
||||
.\.venv\Scripts\python -m pytest -q
|
||||
```
|
||||
|
||||
قواعد کلیدی در `apps/tickets/policies.py` متمرکز شدهاند و عملیات حساس در `apps/tickets/services.py` تراکنشی هستند.
|
||||
## Environment files
|
||||
|
||||
- Direct development with `config.settings.dev` automatically loads `.env.local`.
|
||||
- Production with `config.settings.prod` can load `.env`; Docker Compose also injects that file into its services.
|
||||
- Set `DJANGO_ENV_FILE` in the process environment to select another file, such as `/etc/customer-ticket/server.env`.
|
||||
- Existing process variables always take precedence over values in dotenv files.
|
||||
- Copy `.env.local.example` to `.env.local` for a safe local starting point; real dotenv files are excluded from Git and Docker images.
|
||||
Reference in new issue
Block a user