Skip to content

Devanshii-git/NEXUS-Sutrava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

149 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sutrava

Built By Team NEXUS

An AI-Driven System for Automated Requirements Engineering from Unstructured Stakeholder Communication.

React Spring Boot PyTorch


Overview

Sutrava fundamentally transforms the software requirement gathering lifecycle by autonomously extracting, classifying, and structuring requirements from unrefined communication channels. Whether dealing with email correspondence, Slack interactions, Jira tickets, or meeting transcripts, Sutrava distills unstructured data into actionable, structured Software Requirement Specification (SRS) documentation.

Key Features

  • AI-Powered NLP Pipeline:
    • Leverages a fine-tuned DistilBERT architecture for rapid requirement detection.
    • Employs a spaCy + BERT transformer ecosystem for Named Entity Recognition (NER).
  • Cross-Platform Desktop Application:
    • A sophisticated client built on the Electron framework.
    • Fortified with React and Tailwind CSS for a seamless, interactive user experience.
  • Backend Orchestration:
    • Driven by a robust Spring Boot REST API.
    • Seamlessly manages external communications, directly integrated with Atlassian OAuth2 and Jira API endpoints.
  • Interactive Dashboards:
    • Advanced visual interfaces to analyze extracted requirements, contextual clusters, and prioritization levels.
    • Automatically exports structured Software Requirement Specification (SRS) documentation.

System Architecture

Sutrava operates through a microservice-like architecture spanning an AI inference engine, a robust Java backend, and an interactive desktop client.

NEXUS-Sutrava-main/
├── model/                     # AI Pipeline (Python, PyTorch, Transformers, spaCy)
│   ├── requirement_classifier/# DistilBERT binary classifier (Req / Not Req)
│   ├── ner_model/             # Named Entity Recognition (spaCy 3 + BERT)
│   ├── clustering/            # Sentence embeddings & clustering
│   ├── prioritization/        # Priority level classification
│   └── inference_pipeline/    # End-to-end processing pipeline
│
├── Sutrava_Frontend/          # Desktop Application (Electron + React + Vite)
│   ├── electron/              # Electron main process scripts
│   ├── src/                   # React frontend source code
│   └── package.json           # Frontend dependencies & build scripts
│
├── BackEnd/                   # Spring Boot RESTful API & Integrations
│   ├── src/                   # Java Source Code
│   ├── pom.xml                # Maven dependencies
│   └── Dockerfile             # Containerization config
│
├── Reports/                   # Project Planning & Documentation
│   ├── Project Synopsis-Report-Final.pdf
│   └── Project SRS-Report.docx
│
└── Research Papers/           # Research, Formats, and Papers
    └── Sutrava_Research_Paper.pdf (and related materials)

Technology Stack

Artificial Intelligence & Data Science

Python PyTorch Transformers spaCy scikit-learn

Backend Environment

Java Spring Boot Atlassian

Frontend Environment

React Electron Vite Tailwind CSS


Installation & Setup Guide

1. AI Model Initialization

Ensure you are located at the root directory, then install the core Python dependencies:

cd model
pip install -r requirements.txt
python -m spacy download en_core_web_sm

Note: Consult model/README.md for extended guidelines on training methodologies, model checkpoints, and executing the inference pipeline.

2. Desktop Application Configuration

Navigate to the frontend directory to initialize the user interface:

cd Sutrava_Frontend
npm install

Launch the application in development mode:

npm run electron:dev

To compile a production-ready build:

npm run electron:build

3. Backend Services Setup

Navigate to the BackEnd directory to configure application properties, define Atlassian OAuth credentials, and instantiate the Spring Boot server environment.

Using Maven Wrapper:

cd BackEnd
./mvnw spring-boot:run

AI Pipeline Flow

  1. Preprocessing: Raw text from various sources is cleaned and tokenized.
  2. Requirement Classification: DistilBERT determines if a sentence is a valid software requirement.
  3. Named Entity Recognition (NER): Extracts key entities (e.g., Actor, Action, System Component).
  4. Clustering: Groups related requirements using sentence embeddings.
  5. Prioritization: Automatically assigns priority levels (High/Medium/Low) based on extracted context.

Built by the NEXUS Team for Minor Project 2026.

About

Sutrava transforms the software requirement gathering lifecycle by autonomously extracting critical data from unrefined communication channels. Featuring an advanced PyTorch/Transformers NLP pipeline, robust Atlassian integrations via Spring Boot, and a sleek Tailwind CSS frontend, it instantly generates structured, production-ready documentation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors