🌐 Cloud-Native Architecture: - Firebase Functions deployment (no Docker) - Supabase database (replacing local PostgreSQL) - Google Cloud Storage integration - Document AI + Agentic RAG processing pipeline - Claude-3.5-Sonnet LLM integration ✅ Full BPCP CIM Review Template (7 sections): - Deal Overview - Business Description - Market & Industry Analysis - Financial Summary (with historical financials table) - Management Team Overview - Preliminary Investment Thesis - Key Questions & Next Steps 🔧 Cloud Migration Improvements: - PostgreSQL → Supabase migration complete - Local storage → Google Cloud Storage - Docker deployment → Firebase Functions - Schema mapping fixes (camelCase/snake_case) - Enhanced error handling and logging - Vector database with fallback mechanisms 📄 Complete End-to-End Cloud Workflow: 1. Upload PDF → Document AI extraction 2. Agentic RAG processing → Structured CIM data 3. Store in Supabase → Vector embeddings 4. Auto-generate PDF → Full BPCP template 5. Download complete CIM review 🚀 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
85 lines
2.5 KiB
Bash
Executable File
85 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# CIM Document Processor Backend Environment Setup
|
|
echo "Setting up environment variables for CIM Document Processor Backend..."
|
|
|
|
# Create .env file if it doesn't exist
|
|
if [ ! -f .env ]; then
|
|
echo "Creating .env file..."
|
|
cat > .env << EOF
|
|
# Environment Configuration for CIM Document Processor Backend
|
|
|
|
# Node Environment
|
|
NODE_ENV=development
|
|
PORT=5000
|
|
|
|
# Supabase Configuration (Cloud Database)
|
|
SUPABASE_URL=https://your-project.supabase.co
|
|
SUPABASE_ANON_KEY=your-supabase-anon-key-here
|
|
SUPABASE_SERVICE_KEY=your-supabase-service-role-key-here
|
|
|
|
# Firebase Configuration (Cloud Storage & Auth)
|
|
FIREBASE_PROJECT_ID=your-firebase-project-id
|
|
FIREBASE_STORAGE_BUCKET=your-firebase-project-id.appspot.com
|
|
FIREBASE_API_KEY=your-firebase-api-key
|
|
FIREBASE_AUTH_DOMAIN=your-firebase-project-id.firebaseapp.com
|
|
|
|
# Google Cloud Configuration (Document AI)
|
|
GCLOUD_PROJECT_ID=your-google-cloud-project-id
|
|
DOCUMENT_AI_LOCATION=us
|
|
DOCUMENT_AI_PROCESSOR_ID=your-document-ai-processor-id
|
|
GCS_BUCKET_NAME=your-gcs-bucket-name
|
|
DOCUMENT_AI_OUTPUT_BUCKET_NAME=your-output-bucket-name
|
|
GOOGLE_APPLICATION_CREDENTIALS=./serviceAccountKey.json
|
|
|
|
# JWT Configuration
|
|
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
|
|
JWT_EXPIRES_IN=1h
|
|
JWT_REFRESH_SECRET=your-super-secret-refresh-key-change-this-in-production
|
|
JWT_REFRESH_EXPIRES_IN=7d
|
|
|
|
# File Upload Configuration
|
|
MAX_FILE_SIZE=52428800
|
|
UPLOAD_DIR=uploads
|
|
ALLOWED_FILE_TYPES=application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
|
|
|
# LLM Configuration
|
|
LLM_PROVIDER=openai
|
|
OPENAI_API_KEY=your-openai-api-key-here
|
|
ANTHROPIC_API_KEY=your-anthropic-api-key-here
|
|
LLM_MODEL=gpt-4
|
|
LLM_MAX_TOKENS=4000
|
|
LLM_TEMPERATURE=0.1
|
|
|
|
# Storage Configuration (Local by default)
|
|
STORAGE_TYPE=local
|
|
|
|
# Security Configuration
|
|
BCRYPT_ROUNDS=12
|
|
RATE_LIMIT_WINDOW_MS=900000
|
|
RATE_LIMIT_MAX_REQUESTS=100
|
|
|
|
# Logging Configuration
|
|
LOG_LEVEL=info
|
|
LOG_FILE=logs/app.log
|
|
|
|
# Frontend URL (for CORS)
|
|
FRONTEND_URL=http://localhost:3000
|
|
EOF
|
|
echo "✅ .env file created successfully!"
|
|
else
|
|
echo "⚠️ .env file already exists. Skipping creation."
|
|
fi
|
|
|
|
echo ""
|
|
echo "📋 Next steps:"
|
|
echo "1. Edit the .env file with your actual database credentials"
|
|
echo "2. Add your OpenAI and/or Anthropic API keys"
|
|
echo "3. Update the JWT secrets for production"
|
|
echo "4. Run: npm run db:migrate (after setting up PostgreSQL)"
|
|
echo "5. Run: npm run dev"
|
|
echo ""
|
|
echo "🔧 Required services:"
|
|
echo "- PostgreSQL database"
|
|
echo "- Redis server"
|
|
echo "- OpenAI API key (or Anthropic API key)" |