A modern web application for managing OpenAI assistants with a Vue.js frontend and FastAPI backend.
- 🔐 User authentication with JWT tokens
- 🤖 Create and manage multiple OpenAI assistants
- 💬 Real-time chat with streaming responses
- 📁 File upload and management
- 🔄 WebSocket support for live updates
- 📱 Responsive design for mobile and desktop
- ☁️ Google Cloud Run ready
- Frontend: Vue 3 + TypeScript + Vite + Tailwind CSS
- Backend: FastAPI + SQLAlchemy + MySQL
- Real-time: WebSocket with Socket.io
- Deployment: Docker + Google Cloud Run
- Node.js 18+
- Python 3.11+
- MySQL 8.0+
- Redis (for WebSocket)
- OpenAI API key
- Clone the repository
git clone <repository-url>
cd VueMultiAgentCreator
- Set up environment variables
# Backend
cd backend
cp .env.example .env
# Edit .env with your configurations
# Frontend
cd ../frontend
cp .env.example .env.local
# Edit .env.local with your API URL
- Install dependencies
# Backend
cd backend
pip install -r requirements.txt
# Frontend
cd ../frontend
npm install
- Start development servers
# Backend (from backend directory)
python main.py
# Frontend (from frontend directory)
npm run dev
# Start all services
docker-compose up
# Build for production
docker-compose build
- Set up Google Cloud project
gcloud config set project YOUR_PROJECT_ID
- Create secrets
gcloud secrets create openai-api-key --data-file=- < openai-key.txt
gcloud secrets create jwt-secret-key --data-file=- < jwt-key.txt
- Deploy using Cloud Build
gcloud builds submit --config cloudbuild.yaml
Once the backend is running, visit:
- API Docs: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
VueMultiAgentCreator/
├── frontend/ # Vue.js frontend
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── views/ # Page components
│ │ ├── stores/ # Pinia state management
│ │ ├── composables/ # Vue composables
│ │ └── api/ # API client
│ └── public/ # Static assets
├── backend/ # FastAPI backend
│ ├── api/ # API endpoints
│ ├── models/ # Database models
│ ├── services/ # Business logic
│ └── utils/ # Utilities
└── deployment/ # Deployment configs
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
MIT License