AI-Powered Semester Project Generator for Indian Engineering & Diploma Students
SubmitWise is a production-ready AI SaaS platform that generates complete semester project deliverables for Indian engineering and diploma students. Using Groq's Llama 3.3 70B model with RAG (Retrieval-Augmented Generation), it produces professional-grade outputs following GTU, VTU, AICTE, and Government Polytechnic standards.
| Deliverable | Description |
|---|---|
| 📄 Project Report (DOCX) | 8-chapter professional report with IEEE formatting |
| 📊 Presentation (PPTX) | 18+ slides covering all aspects |
| 💻 Source Code | 5-8 production-ready code files |
| 🎯 Viva Questions | 15-20 Q&A with detailed answers |
| 📋 Test Cases | Comprehensive testing documentation |
| 📦 ZIP Bundle | Everything packaged for submission |
graph TB
subgraph "Frontend (Next.js 14)"
UI[React Components]
STORE[Zustand State]
API_CLIENT[API Client]
end
subgraph "Backend (FastAPI)"
AUTH[Auth API]
PROJ[Projects API]
PAY[Payments API]
ADMIN[Admin API]
end
subgraph "AI Engine"
RAG[RAG Pipeline]
GROQ[Groq LLM<br/>Llama 3.3 70B]
EMBED[Embeddings<br/>MiniLM-L6]
VS[Vector Store<br/>ChromaDB]
end
subgraph "Document Generation"
DOCX[DOCX Generator]
PPTX[PPTX Generator]
ZIP[ZIP Bundler]
end
subgraph "Infrastructure"
PG[(PostgreSQL<br/>+ pgvector)]
REDIS[(Redis)]
MINIO[(MinIO<br/>S3 Storage)]
CELERY[Celery Workers]
end
UI --> API_CLIENT
API_CLIENT --> AUTH
API_CLIENT --> PROJ
API_CLIENT --> PAY
PROJ --> RAG
RAG --> EMBED
RAG --> VS
RAG --> GROQ
GROQ --> DOCX
GROQ --> PPTX
DOCX --> ZIP
PPTX --> ZIP
ZIP --> MINIO
AUTH --> PG
PROJ --> PG
PROJ --> REDIS
PROJ --> CELERY
CELERY --> MINIO
style GROQ fill:#8B5CF6,color:#fff
style UI fill:#000,color:#fff
style PG fill:#336791,color:#fff
style REDIS fill:#DC382D,color:#fff
style MINIO fill:#C72C48,color:#fff
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 14, TypeScript, TailwindCSS | Modern UI with App Router |
| Backend | FastAPI, Python 3.11+ | REST API with async support |
| AI/LLM | Groq Llama 3.3 70B | Project content generation |
| RAG | ChromaDB, Sentence Transformers | Context-aware generation |
| Database | PostgreSQL + pgvector | Data persistence + vectors |
| Queue | Redis + Celery | Background task processing |
| Storage | MinIO (S3-compatible) | File storage with presigned URLs |
| Payments | Razorpay, Stripe | Indian & global payments |
- Docker & Docker Compose (recommended)
- Groq API Key (Get free key)
# Clone the repository
git clone https://github.com/yourusername/SubmitWise.git
cd SubmitWise
# Copy environment file
cp .env.example .env
# Add your Groq API key in .env
# GROQ_API_KEY=gsk_your_key_here
# Start everything with Docker
docker-compose up -d| Service | URL | Credentials |
|---|---|---|
| 🌐 Frontend | http://localhost:3000 | Create account |
| 🔧 API Docs | http://localhost:8000/docs | - |
| 📊 MinIO Console | http://localhost:9001 | minioadmin / minioadmin |
SubmitWise/
├── 📁 backend/ # FastAPI Backend
│ ├── app/
│ │ ├── api/ # REST Endpoints
│ │ │ ├── auth.py # Authentication routes
│ │ │ ├── projects.py # Project generation
│ │ │ ├── payments.py # Payment handling
│ │ │ └── admin.py # Admin dashboard
│ │ ├── core/ # Configuration
│ │ │ ├── config.py # Settings management
│ │ │ ├── database.py # DB connection
│ │ │ └── security.py # JWT & hashing
│ │ ├── models/ # SQLAlchemy Models
│ │ │ ├── user.py # User model
│ │ │ ├── project.py # Project model
│ │ │ └── payment.py # Payment model
│ │ ├── services/ # Business Logic
│ │ │ ├── groq_client.py # 🤖 LLM integration
│ │ │ ├── rag_pipeline.py # RAG orchestration
│ │ │ ├── vector_store.py # ChromaDB interface
│ │ │ ├── docx_generator.py # 📄 Report generation
│ │ │ ├── pptx_generator.py # 📊 Slides generation
│ │ │ ├── zip_bundler.py # 📦 Packaging
│ │ │ └── minio_client.py # S3 storage
│ │ ├── tasks/ # Celery Tasks
│ │ │ └── celery_app.py # Background jobs
│ │ └── main.py # App entry point
│ ├── requirements.txt
│ └── Dockerfile
│
├── 📁 frontend/ # Next.js Frontend
│ ├── app/ # App Router Pages
│ │ ├── (auth)/ # Auth pages
│ │ ├── dashboard/ # User dashboard
│ │ ├── generate/ # Project generation
│ │ ├── projects/ # Project history
│ │ └── pricing/ # Subscription plans
│ ├── components/
│ │ ├── ui/ # Shadcn components
│ │ └── landing/ # Landing page
│ ├── lib/
│ │ ├── api.ts # API client
│ │ └── store.ts # Zustand store
│ └── Dockerfile
│
├── 🐳 docker-compose.yml # Full stack orchestration
├── 📝 .env.example # Environment template
└── 📖 README.md # This file
- ✅ 2 Free Projects/Month - No credit card required
- ✅ Indian Curriculum Focus - GTU, VTU, AICTE standards
- ✅ Multiple Difficulty Levels - Beginner to Advanced
- ✅ Language Support - English & Hindi
- ✅ Complete Code - 5-8 production-ready files
- ✅ Viva Preparation - 15-20 Q&A with answers
- ✅ Plagiarism Safe - Unique content generation
- ✅ Bulk Student Onboarding - CSV upload
- ✅ Usage Analytics - Track generation stats
- ✅ Custom Templates - Institution-specific formats
- ✅ Audit Logs - Complete activity trail
- ✅ RAG-Powered Generation - Context-aware outputs
- ✅ Background Processing - Non-blocking generation
- ✅ Real-time Status - Live progress updates
- ✅ Secure Storage - Presigned URL downloads
- ✅ Responsive Design - Mobile-friendly UI
- ✅ Dark Mode - Eye-friendly interface
# Required
GROQ_API_KEY=gsk_your_key_here # Get from console.groq.com
JWT_SECRET_KEY=your-32-char-secret # Change in production
# Database (defaults work with Docker)
DATABASE_URL=postgresql://projectgen:projectgen@postgres:5432/projectgen
# Redis
REDIS_URL=redis://redis:6379/0
# MinIO Storage
MINIO_ENDPOINT=minio:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
# Payments (Optional)
RAZORPAY_KEY_ID=your_razorpay_key
RAZORPAY_KEY_SECRET=your_razorpay_secret
STRIPE_SECRET_KEY=your_stripe_key| Endpoint | Method | Description |
|---|---|---|
/api/auth/register |
POST | Create new account |
/api/auth/login |
POST | Login & get tokens |
/api/auth/refresh |
POST | Refresh access token |
/api/auth/me |
GET | Get current user |
| Endpoint | Method | Description |
|---|---|---|
/api/projects/generate |
POST | Start project generation |
/api/projects/{id}/status |
GET | Check generation progress |
/api/projects/{id}/preview |
GET | Get JSON preview |
/api/projects/{id}/download |
GET | Download ZIP bundle |
/api/projects/history |
GET | List user's projects |
Visit http://localhost:8000/docs for Swagger UI with try-it-out functionality.
cd backend
python -m venv .venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # Linux/Mac
pip install -r requirements.txt
uvicorn app.main:app --reloadcd frontend
npm install
npm run dev# Start only database services
docker-compose up postgres redis minio -d# Build and run all services
docker-compose up -d --build
# View logs
docker-compose logs -f
# Stop all services
docker-compose down- Change
JWT_SECRET_KEYto a strong random string - Set up production PostgreSQL
- Configure Redis cluster
- Set up MinIO with proper credentials
- Add payment provider keys
- Set
DEBUG=false
| Category | Technologies |
|---|---|
| Frontend | Next.js 14, TypeScript, TailwindCSS, Zustand, Framer Motion |
| Backend | FastAPI, Python 3.11, Pydantic, SQLAlchemy |
| AI/ML | Groq Llama 3.3 70B, Sentence Transformers, ChromaDB |
| Database | PostgreSQL 15, pgvector, Redis 7 |
| DevOps | Docker, Docker Compose, Celery |
| Storage | MinIO (S3-compatible) |
| Payments | Razorpay, Stripe |
- 🔐 Google OAuth / SSO
- 📱 Mobile Application
- 🌍 More Languages (Tamil, Telugu, Marathi)
- 🔌 API Access for Enterprises
- 📈 Advanced Analytics Dashboard
- 🤝 Collaborative Editing
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
# Fork the repo
# Create feature branch
git checkout -b feature/amazing-feature
# Commit changes
git commit -m "Add amazing feature"
# Push and create PR
git push origin feature/amazing-featureThis project is licensed under the MIT License - see the LICENSE file for details.
- 📧 Email: support@SubmitWise
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
Made with ❤️ for Indian Engineering Students
⭐ Star this repo if you find it helpful!