mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-18 15:29:36 +00:00
Full-stack AI-powered sales automation platform for Saudi SMEs: Backend (FastAPI + PostgreSQL): - Multi-tenant architecture with row-level isolation - JWT auth with RBAC (owner/manager/agent/admin) - Lead, Customer, Deal, Pipeline, Activity, Message, Proposal models - Dashboard analytics API (overview, pipeline, revenue) - WhatsApp Business API, Email (SMTP/SendGrid), SMS (Unifonic) integrations - Celery + Redis workers for automated follow-ups and scheduled messages - Property model for Real Estate module (Riyadh districts) - Hijri date utilities, Arabic/English localization Frontend (Next.js + Tailwind): - Professional Arabic RTL landing page with 10 sections - Brand identity: SalesMatic (سيلزماتك) with custom SVG logo - Color system: Trust Blue #0F4C81, Growth Teal #00BFA6, CTA Orange #FF6B35 - IBM Plex Sans Arabic + Inter typography - Responsive design, dark hero section, pricing table, FAQ Industry Templates: - Healthcare/Clinics: pipeline stages, WhatsApp message templates, auto-workflows - Real Estate Riyadh: 20 districts, property tours, payment plans, matching Infrastructure: - Docker Compose (PostgreSQL, Redis, Backend, Celery, Frontend, Nginx) - Nginx reverse proxy config - Makefile for common operations https://claude.ai/code/session_01LLR7jzpyNRwDA9kojtT3CW
56 lines
1.3 KiB
Python
56 lines
1.3 KiB
Python
from pydantic_settings import BaseSettings
|
|
from functools import lru_cache
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
# App
|
|
APP_NAME: str = "SalesMatic"
|
|
APP_NAME_AR: str = "سيلزماتك"
|
|
DEBUG: bool = False
|
|
DEFAULT_TIMEZONE: str = "Asia/Riyadh"
|
|
DEFAULT_CURRENCY: str = "SAR"
|
|
DEFAULT_LOCALE: str = "ar"
|
|
|
|
# Database
|
|
DATABASE_URL: str = "postgresql+asyncpg://salesflow:salesflow_secret_2024@db:5432/salesflow"
|
|
|
|
# Redis
|
|
REDIS_URL: str = "redis://redis:6379/0"
|
|
|
|
# Security
|
|
SECRET_KEY: str = "change-this-to-a-random-secret-key"
|
|
ALGORITHM: str = "HS256"
|
|
ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
|
|
REFRESH_TOKEN_EXPIRE_DAYS: int = 7
|
|
|
|
# URLs
|
|
API_URL: str = "http://localhost:8000"
|
|
FRONTEND_URL: str = "http://localhost:3000"
|
|
|
|
# WhatsApp
|
|
WHATSAPP_API_TOKEN: str = ""
|
|
WHATSAPP_PHONE_NUMBER_ID: str = ""
|
|
WHATSAPP_BUSINESS_ACCOUNT_ID: str = ""
|
|
WHATSAPP_VERIFY_TOKEN: str = ""
|
|
|
|
# Email
|
|
EMAIL_PROVIDER: str = "smtp"
|
|
SMTP_HOST: str = "smtp.gmail.com"
|
|
SMTP_PORT: int = 587
|
|
SMTP_USER: str = ""
|
|
SMTP_PASSWORD: str = ""
|
|
SENDGRID_API_KEY: str = ""
|
|
|
|
# SMS (Unifonic)
|
|
UNIFONIC_APP_SID: str = ""
|
|
UNIFONIC_SENDER_ID: str = "SalesMatic"
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
case_sensitive = True
|
|
|
|
|
|
@lru_cache()
|
|
def get_settings() -> Settings:
|
|
return Settings()
|