Skip to content

Trishgupta44/SpecGenie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpecGenie · srs-genie

Take a deep breath. SpecGenie handles the paperwork.

SpecGenie is an AI-powered web app that turns one-paragraph project ideas into complete, IEEE 830-compliant Software Requirements Specification (SRS) documents — with auto-generated UML diagrams, a refinement chat, and one-click export to PDF, DOCX, or Markdown.

Built for engineering students, by engineering students, for the moment when the deadline is two days away and the SRS hasn't been started yet.

status ieee830 license stack


Features

  • Idea → SRS in minutes. Paste a paragraph, get the full IEEE 830 document with numbered sections.
  • Priority-tagged requirements. Functional and non-functional requirements separated, each with a REQ-XXX ID and HIGH/MED/LOW priority.
  • Auto UML diagrams. Use Case + Class diagrams generated from the structured requirements, rendered with React Flow (interactive — drag, pan, zoom).
  • Refinement chat. Talk to your document. "Make REQ-007 stricter." "Add a security requirement for 2FA." The genie patches the SRS in place.
  • Three export formats. PDF for submission, DOCX for track-changes, Markdown for your repo. All built from one canonical source so they don't drift.
  • Project history. Every spec saved, searchable, editable.
  • Auth + isolation. JWT-based. Your projects are yours alone.

Tech stack

Layer Choice
Frontend React 18 + Vite + Tailwind CSS + Framer Motion
Diagrams @xyflow/react (free, MIT)
Backend Node.js + Express + Mongoose
LLM Google Gemini 1.5 Flash (free tier)
Orchestration LangChain-style 4-step prompt pipeline
Database MongoDB (local)
Auth JWT + bcrypt
Exports pdfkit (PDF), docx (DOCX), inline (Markdown)

Quick start

📖 Need detailed install steps for MongoDB on Windows? See COMMANDS.md — it walks through everything from zero.

# 1. Clone
git clone https://github.com/<your-username>/srs-genie.git
cd srs-genie

# 2. Backend
cd server
cp .env.example .env
# → edit .env: set GEMINI_API_KEY (free at https://aistudio.google.com/app/apikey)
# → set JWT_SECRET to any long random string
npm install
npm run dev          # starts API on :5000

# 3. Frontend (new terminal)
cd ../client
npm install
npm run dev          # starts UI on :5173

Open http://localhost:5173. Create an account. Try a project idea.


The 4-step generation pipeline

User raw idea
     │
     ▼
[1] EXTRACT  ─► classify into {functional, non-functional, performance, security, ...}
     │              ↳ assigns REQ-IDs and priorities
     ▼
[2] STRUCTURE ─► map into IEEE 830 sections (1.Introduction, 2.Overall Description,
     │              3.System Features, 4.External Interfaces, 5.Other Requirements)
     ▼
[3] DIAGRAMS ─► emit React Flow JSON for use case + class diagrams
     │
     ▼
[4] PERSIST  ─► write Project document to MongoDB → user previews/edits/exports

Each step is its own focused prompt (in server/src/prompts/srsPrompts.js). This gives the LLM a smaller working set per call and produces more consistent JSON than one mega-prompt.


Project structure

srs-genie/
├── client/                       # React + Vite + Tailwind frontend
│   ├── src/
│   │   ├── pages/               # Landing, Login, Signup, Dashboard, Generator, ProjectView
│   │   ├── components/
│   │   │   ├── layout/          # Navbar, BreathMark
│   │   │   ├── auth/            # ProtectedRoute
│   │   │   ├── editor/          # SrsEditor (in-place editing)
│   │   │   ├── chat/            # RefinementChat
│   │   │   ├── diagrams/        # FlowDiagram (React Flow)
│   │   │   └── export/          # ExportMenu
│   │   ├── context/             # AuthContext
│   │   ├── lib/api.js           # axios client
│   │   └── styles/globals.css   # design tokens + neon utilities
│   ├── tailwind.config.js
│   └── vite.config.js
│
├── server/                       # Node + Express backend
│   ├── src/
│   │   ├── routes/              # auth, projects, ai, exports
│   │   ├── models/              # User, Project (Mongoose)
│   │   ├── middleware/auth.js   # JWT
│   │   ├── services/
│   │   │   ├── llm/             # Gemini provider (swap for OpenAI/Claude)
│   │   │   ├── srsGenerator.js  # 4-step pipeline
│   │   │   └── exporter.js      # PDF · DOCX · MD
│   │   ├── prompts/srsPrompts.js
│   │   ├── config/db.js
│   │   └── index.js
│   └── .env.example
│
├── README.md
├── COMMANDS.md                   # detailed setup, including MongoDB install
├── PROJECT_QA.md                 # viva + GitHub Q&A
└── .gitignore

API surface

Method Endpoint Auth Purpose
POST /api/auth/register Create account
POST /api/auth/login Sign in
GET /api/auth/me Current user
GET /api/projects List user's projects
POST /api/projects Create empty project
GET /api/projects/:id Fetch one project
PATCH /api/projects/:id Update SRS / title / tags
DELETE /api/projects/:id Delete project
POST /api/ai/generate Run the full 4-step pipeline
POST /api/ai/refine Apply a refinement instruction
GET /api/export/:id/pdf Download PDF
GET /api/export/:id/docx Download DOCX
GET /api/export/:id/md Download Markdown

Design language

Quiet Brutalism — Google minimalism × Tokyo arcade.

Calm at rest. Neon on intent. Inter for UI, JetBrains Mono for accents.

  • Dark mode default, light mode toggle.
  • Single breathing halo behind the hero.
  • 1px borders, neon glow on hover/focus only.
  • IEEE 830 section markers (§1, §2...) sprinkled tastefully.
  • React Flow nodes with cyan neon edges that pulse with dashed-stroke animation.

The full design preview is in ../DESIGN_MOCKUP.html — open it in a browser.


Roadmap

  • OAuth (Google sign-in)
  • Real-time collaborative editing (Socket.io)
  • GitHub push integration — write the generated SRS.md directly to your repo
  • Multi-model selector (OpenAI / Claude / Gemini)
  • Export Activity + Sequence diagrams alongside Use Case + Class

Built by

Software Engineering Lab · 15B17CI573 · JIIT B.Tech VI Sem · 2026

Arjun Awasthi · Pratyaksh · Trish Gupta · Atharva


License

MIT

About

AI-powered SRS document generator. Write your project idea in plain English — SpecGenie runs a 4-step Gemini pipeline to produce a full IEEE 830-compliant Software Requirements Specification with UML diagrams, exportable as PDF, DOCX, or Markdown.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors