Skip to content

Maheshnath09/SubmitWise

Repository files navigation

πŸŽ“ SubmitWise

AI-Powered Semester Project Generator for Indian Engineering & Diploma Students

Python 3.11+ Next.js 14 FastAPI Docker License: MIT

SubmitWise Banner

Live Demo β€’ Documentation β€’ Quick Start β€’ Architecture


🌟 What is SubmitWise?

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.

✨ What You Get

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

πŸ—οΈ System Architecture

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
Loading

πŸ“¦ Component Overview

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

πŸš€ Quick Start

Prerequisites

  • Docker & Docker Compose (recommended)
  • Groq API Key (Get free key)

One-Command Setup

# 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

Access Points

Service URL Credentials
🌐 Frontend http://localhost:3000 Create account
πŸ”§ API Docs http://localhost:8000/docs -
πŸ“Š MinIO Console http://localhost:9001 minioadmin / minioadmin

πŸ“‚ Project Structure

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

🎯 Key Features

For Students πŸŽ“

  • βœ… 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

For Colleges 🏫

  • βœ… Bulk Student Onboarding - CSV upload
  • βœ… Usage Analytics - Track generation stats
  • βœ… Custom Templates - Institution-specific formats
  • βœ… Audit Logs - Complete activity trail

Technical Features ⚑

  • βœ… 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

πŸ”§ Configuration

Environment Variables

# 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

πŸ“š API Documentation

Authentication

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

Project Generation

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

Interactive Docs

Visit http://localhost:8000/docs for Swagger UI with try-it-out functionality.


πŸ› οΈ Development Setup

Backend (Python)

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 --reload

Frontend (Node.js)

cd frontend
npm install
npm run dev

Run Services (Docker)

# Start only database services
docker-compose up postgres redis minio -d

🚒 Production Deployment

Docker Compose

# Build and run all services
docker-compose up -d --build

# View logs
docker-compose logs -f

# Stop all services
docker-compose down

Environment Checklist

  • Change JWT_SECRET_KEY to a strong random string
  • Set up production PostgreSQL
  • Configure Redis cluster
  • Set up MinIO with proper credentials
  • Add payment provider keys
  • Set DEBUG=false

πŸ“Š Tech Stack Summary

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

πŸ—ΊοΈ Roadmap

  • πŸ” Google OAuth / SSO
  • πŸ“± Mobile Application
  • 🌍 More Languages (Tamil, Telugu, Marathi)
  • πŸ”Œ API Access for Enterprises
  • πŸ“ˆ Advanced Analytics Dashboard
  • 🀝 Collaborative Editing

🀝 Contributing

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-feature

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ’¬ Support


Made with ❀️ for Indian Engineering Students

⭐ Star this repo if you find it helpful!

Releases

No releases published

Packages

 
 
 

Contributors