Some checks failed
Profile Linker Docker Build / Build and push Docker image (push) Failing after 3s
- Integrated Cloudflare R2 for template storage and converted file management - Added Google Gemini AI for resume parsing and HTML generation - Created backend API endpoints for templates, conversion, and history - Refactored frontend to use real API instead of mock data - Fixed Docker networking issues (IPv6/IPv4) for R2 connectivity - Added resumeService.ts for frontend API integration - Updated Vite configuration for proper asset serving in Docker - Successfully tested with 13 templates from R2 bucket
35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
from typing import Optional, List
|
|
import os
|
|
from dotenv import load_dotenv
|
|
|
|
# Load environment variables
|
|
load_dotenv()
|
|
|
|
# Simple settings class without using BaseSettings
|
|
class Settings:
|
|
"""
|
|
Application settings
|
|
"""
|
|
APP_NAME: str = os.getenv("APP_NAME", "ResumeFormatter")
|
|
API_V1_STR: str = f"/{APP_NAME}/api"
|
|
PROJECT_NAME: str = "Smart Resume Formatter API"
|
|
|
|
# CORS settings
|
|
BACKEND_CORS_ORIGINS: List[str] = ["*"]
|
|
|
|
# Database settings - using in-memory database by default
|
|
# In a production environment, you would use a real database connection string
|
|
DATABASE_URL: Optional[str] = None
|
|
|
|
# Gemini AI settings
|
|
GEMINI_API_KEY: str = os.getenv("GEMINI_API_KEY", "")
|
|
|
|
# Cloudflare R2 settings
|
|
R2_ENDPOINT: str = os.getenv("R2_ENDPOINT", "")
|
|
R2_ACCESS_KEY_ID: str = os.getenv("R2_ACCESS_KEY_ID", "")
|
|
R2_SECRET_ACCESS_KEY: str = os.getenv("R2_SECRET_ACCESS_KEY", "")
|
|
R2_BUCKET_NAME: str = os.getenv("R2_BUCKET_NAME", "e-teams")
|
|
|
|
|
|
settings = Settings()
|