Initial commit: teaching institution management API.

Express/MongoDB backend with JWT auth, RBAC, S3 uploads, notifications, and scheduled jobs.
This commit is contained in:
2026-08-09 04:18:08 +02:00
commit f04c797be6
107 changed files with 9190 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
# Environment Configuration
NODE_ENV=development
PORT=3000
MONGO_URI=mongodb://localhost:27017/teaching_institution_db
# Authentication JWT
JWT_ACCESS_SECRET=your_super_secret_access_token_key_change_me
JWT_REFRESH_SECRET=your_super_secret_refresh_token_key_change_me
JWT_ACCESS_EXPIRES_IN=15m
JWT_REFRESH_EXPIRES_IN=7d
# Localization & File Uploads
DEFAULT_LANG=fa
CORS_ORIGIN=*
UPLOAD_PATH=uploads
# S3 / MinIO Private Storage Settings
S3_ENDPOINT=http://localhost:9000
S3_REGION=us-east-1
S3_ACCESS_KEY=minioadmin
S3_SECRET_KEY=minioadmin
S3_TEMP_BUCKET=gameno-temp
S3_STORAGE_BUCKET=gameno-storage
S3_FORCE_PATH_STYLE=true
SIGNED_URL_EXPIRES_IN=900
# SMTP Email Configuration
SMTP_HOST=smtp.mailtrap.io
SMTP_PORT=2525
SMTP_USER=your_smtp_user
SMTP_PASS=your_smtp_password
EMAIL_FROM=no-reply@institution.com
# SMS Provider Configuration (sms.ir)
SMS_ENABLED=false
SMS_PANEL_TOKEN=your_sms_ir_api_key
SMS_SENDER_NUMBER=10001000
# Template IDs from sms.ir panel (verify templates)
# Account created vars: username, password
SMS_TEMPLATE_ACCOUNT_CREATED=
# Class registered vars: className
SMS_TEMPLATE_CLASS_REGISTERED=
# Class reminder (30 min before) vars: className, time, place
SMS_TEMPLATE_CLASS_REMINDER=
# Bale Messenger Bot Token
BALE_BOT_TOKEN=mock_bale_bot_token
# SuperAdmin Seed Credentials
SUPERADMIN_USERNAME=superadmin
SUPERADMIN_PASSWORD=SuperAdminSecret123!
SUPERADMIN_EMAIL=admin@institution.com
SUPERADMIN_NATIONAL_ID=0000000000
SUPERADMIN_PHONE=09000000000