CA-Foundation / README.md
β€œvinit5112”
upload issue
0a7909d
metadata
title: CA Study Assistant
emoji: πŸ“š
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 7860

CA Study Assistant

This is a full-stack AI-powered study assistant for Chartered Accountant students.

  • Frontend: React
  • Backend: FastAPI
  • Deployment: Docker on Hugging Face Spaces

How it Works

The application is containerized using Docker and orchestrated with Docker Compose.

  • The frontend is a React app served by Nginx.
  • The backend is a FastAPI server running with Uvicorn.
  • Nginx acts as a reverse proxy, forwarding API requests from the frontend to the backend.

πŸš€ Quick Setup

1. Environment Configuration

# Copy the example environment file
cp env.example .env

# Edit .env with your API keys
nano .env

Required environment variables:

  • GOOGLE_API_KEY: Get from Google AI Studio
  • QDRANT_URL: Your Qdrant cloud cluster URL
  • QDRANT_API_KEY: Your Qdrant cloud API key

2. Run System Diagnostic

cd backend
python diagnostic.py

This will check all dependencies and configurations.

3. Start the Application

# Using Docker (recommended)
docker-compose up --build

# Or run locally
cd backend && python backend_api.py
cd frontend && npm start

πŸ”§ Troubleshooting File Uploads

If file uploads aren't working, check:

  1. Environment Variables: Ensure all required vars are set
  2. API Connectivity: Backend must connect to Qdrant and Google APIs
  3. File Size: Large files (>10MB) may timeout
  4. File Format: Only PDF, DOCX, and TXT are supported
  5. Server Status: Check browser console and server logs

Common Upload Errors:

Error Cause Solution
Network Error Server not running Start backend server
500 Server Error Missing API keys Check environment variables
413 File Too Large File exceeds 100MB limit Use files smaller than 100MB
415 Unsupported Type Wrong file format Use PDF/DOCX/TXT only
Timeout Large file/slow connection Wait longer or use smaller files

File Upload Limits:

  • Maximum file size: 100MB per file
  • Supported formats: PDF, DOCX, TXT
  • Recommended size: Under 10MB for faster processing
  • Multiple files: Can upload multiple files simultaneously

Debug Steps:

  1. Run python backend/diagnostic.py
  2. Check browser developer console
  3. Check backend server logs
  4. Verify network connectivity to external APIs