A modern, AI-powered, interactive data preprocessing and visualization web app built with Flask, React, Google Cloud, and OpenRouter AI. Created for the Big Data Architecture course at University of Colorado Boulder.
⸻
- 🔐 Authentication (email + Google OAuth)
- 📁 Upload/Replace tabular datasets (CSV, TSV)
- 💬 Chat-based AI Assistant (BuffBot)
- 🔄 Natural language to pandas code conversion
- 🧪 Execute AI-generated code with editable Python code cell
- 📊 Live preview of dataset (MUI DataGrid)
- 📉 AI-generated visualizations (matplotlib)
- 🧠 Captioning for plots using LLMs
- ✅ Secure cloud storage (GCS) + metadata (Firestore)
⸻
- ⚛️ React + TypeScript
- 💅 Material-UI (MUI)
- 🎨 Framer Motion
- ✨ Monaco Editor (Python cell)
- 🐍 Flask (REST API)
- 🧠 OpenRouter (Claude/Mixtral/Quasar-Alpha)
- ☁️ Google Cloud Storage & Firestore
- 🔐 JWT-based Auth
- 📈 matplotlib + pandas
⸻
- Node.js + npm
- Python 3.10+
- GCP project with Firestore & Cloud Storage enabled
- OpenRouter API key
cd Backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Place your gcp-key.json in Backend/
# Add .env file with:
# SECRET_KEY=...
# OPENROUTER_API_KEY=...
python app.pycd frontend
npm install
npm run devAccess at: http://localhost:5173
⸻
- Dockerize frontend & backend
- Push to GCR
- Create K8s manifests for both
- Setup GKE cluster
- Deploy with kubectl apply -f ...
- Access app via external LoadBalancer IP
⸻
add your key.json file to your root folder
terraform init
terraform plan
terraform apply
terraform destroy( To destroy infrastructure)
docker buildx build --platform linux/amd64 -t gcr.io/databuff-456300/vite-app:latest .
docker push gcr.io/databuff-456300/vite-app:latest
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
kubectl rollout restart deployment vite-frontend
docker buildx build --platform linux/amd64 -t gcr.io/databuff-456300/flask-backend:latest .
docker push gcr.io/databuff-456300/flask-backend:latest
kubectl apply -f k8s/backend-deployment.yaml
Built by:
- Abdul Rafay Ahmed Khan
- Samiksha Patil
- Harsh Chaudhari
- Mohit Gupta
⸻
MIT License