AI-Powered Semester Project Generator for Indian Engineering & Diploma Students
Live Demo β’ Documentation β’ Quick Start β’ Architecture
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!