An Enovate Wiki
Attachments
History
Blame
View Source
Changelog
Documentation
About An Otter Wiki
Toggle dark mode
Login
Home
A - Z
Page Index
CMMI
Governance
Template
Statement Of Work
Guidelines
Coding Standard
Android Coding Standards
Core Java
Front-End Styling (CSS)
Golang
iOS Coding Standard (Swift)
Java EE
Javascript
Python
Request structure guidelines
Scala
TypeScript
Product Integration
Practical Training PPT
Procedure
Configuration Management (CM)
Estimating (EST)
Managing Performance and Measurement (MPM)
Monitoring and Control (MC)
Peer Review (PR)
Planning (PLAN)
Process Management (PCM)
Process Quality Assurance (PQA)
Product Integration (PI)
Requirement Development Management(RDM)
Risk and Opportunity Management
Technical Solution (TS)
Verification and Validation (VV)
Process Areas
Process Areas - Documents & Evidences
Standard
Document Creation
Naming Convention Standard
Templates
Audit Plan
LLD
Enovate Tools
EnovateIT
Company Profile & Website Portfolio
Home
Local AI
Projects
Audit-matic
HLD
CommNet
Face Recognation
Document
Flowcast
Enovate IT-QMS-PL01-Project Plan-[FlowCast]-V10
HireGenius
SRS
Technical Document (LLD+HLD))
OptiQA
Sentify
SkillShift
HLD
LLD
Social Media Manager
Teams
Team Apex
Team Catalyst
Team Fusion
Team Nova
Team Orbit
Team Pulse
Team Quantum
Team Spark
Team Vision
Templates
Project Template
Team Template
Projects
OptiQA
edfb63
Commit
edfb63
2025-10-09 10:56:24
Switi Patel
: updated project template
Projects/OptiQA.md
..
@@ 33,23 33,113 @@
- Prompt History Management: All user prompts and corresponding results are stored and retrievable.
- User Authentication: Secure login/signup using JWT-based authentication.
-
**Technology Stack **
+
### Technology Stack
-
- Frontend - React.js, Tailwind CSS
-
- Backend - Node.js, Express.js
-
- Database - PostgreSQL
-
- AI/ML - OpenAI GPT-4o-mini
-
- Test Execution - Playwright
-
- Authentication - JWT (JSON Web Tokens)
-
- Hosting (optional) - AWS / Render / Vercel
+
| Layer | Technology |
+
|--------|-------------|
+
| **Frontend** | React.js + Tailwind CSS |
+
| **Backend** | Node.js + Express.js |
+
| **Database** | PostgreSQL |
+
| **AI/ML** | OpenAI GPT-4o-mini |
+
| **Test Execution** | Playwright |
+
| **Authentication** | JWT (JSON Web Tokens) |
+
| **Hosting (Optional)** | AWS / Render / Vercel |
+
----
+
### **Workflow Description**
-
**HLD - High Level Design Diagram**
-

-

+
1. **User Registration/Login** → User signs up or logs in.
+
2. **Prompt Submission** → User enters URL + natural language steps (e.g., “Login to Gmail and verify inbox count”).
+
3. **AI Processing** → Backend sends the prompt to GPT-4o-mini to generate Playwright test script.
+
4. **Test Execution** → The system executes the generated code using Playwright.
+
5. **Result Storage** → Logs, status, and screenshots are saved in the database.
+
6. **Result Visualization** → User views the detailed report and test history from the frontend.
-
**LLD - Low Level Design Diagram**
-

+
---
+
+
## 🏗️ System Architecture
+
+
OptiQA follows a **modular microservice-inspired structure**:
+
+
1. **Frontend (React.js)**
+
Handles user interaction, authentication, prompt submission, and data visualization.
+
+
2. **Backend (Node.js + Express)**
+
Manages user requests, invokes GPT-4o-mini for AI processing, executes Playwright tests, and interacts with PostgreSQL.
+
+
3. **AI Layer (OpenAI GPT-4o-mini)**
+
Generates test scripts based on natural language prompts.
+
+
4. **Database Layer (PostgreSQL)**
+
Stores users, prompts, test results, execution logs, and screenshots.
+
+
5. **Playwright Test Engine**
+
Executes generated test scripts and sends results back to the backend for storage and visualization.
+
+
---
+
+
### High Level Design (HLD)
+
### **Overview**
+
The system follows a modular, scalable architecture that connects frontend, backend, AI, and database layers.
+
The frontend communicates securely with backend APIs, which orchestrate test execution, AI analysis, and reporting.
+
+
### **Key Components**
+
- **Frontend:** Interactive dashboard for test management, execution tracking, and result visualization.
+
- **Backend:** API layer managing test execution requests, log collection, and AI interactions.
+
- **Database:** Centralized storage for test cases, execution results, and logs.
+
- **AI/ML Layer:** Processes logs, predicts failure patterns, and generates intelligent test suggestions.
+
- **Authentication:** Uses JWT tokens for secure and stateless user sessions.
+
+
### **HLD Diagram**
+

+

+
+
+
### **Low Level Design (LLD)**
+
### **Core Modules**
+
- **Test Case Manager:** Converts unstructured requirements into structured, testable cases using NLP.
+
- **Execution Engine:** Runs automated Playwright tests and captures execution logs.
+
- **AI Analyzer:** Combines rule-based logic and NLP for anomaly detection and failure summaries.
+
- **Log Parser:** Normalizes error logs from different environments for consistent analysis.
+
- **Report Generator:** Aggregates and visualizes results into actionable insights.
+
+
### **LLD Diagram**
+

+
+
## 🗄️ **Database Design**
+
+
### **Tables**
+
+
#### **users**
+
+
| Column | Type | Description |
+
|--------|------|-------------|
+
| id | UUID (PK) | Unique user identifier |
+
| name | VARCHAR | User’s full name |
+
| email | VARCHAR | Unique email address |
+
| password_hash | TEXT | Encrypted password |
+
| created_at | TIMESTAMP | Timestamp of registration |
+
+
#### **prompts**
+
+
| Column | Type | Description |
+
|--------|------|-------------|
+
| id | UUID (PK) | Unique prompt identifier |
+
| user_id | UUID (FK → users.id) | Owner of the prompt |
+
| prompt_text | TEXT | User-entered prompt |
+
| generated_code | TEXT | AI-generated Playwright test code |
+
| created_at | TIMESTAMP | Date/time of prompt creation |
+
+
#### **test_results**
+
+
| Column | Type | Description |
+
|--------|------|-------------|
+
| id | UUID (PK) | Unique test result identifier |
+
| prompt_id | UUID (FK → prompts.id) | Related prompt |
+
| status | VARCHAR | Test status (e.g., PASSED, FAILED, ERROR) |
+
| execution_log | TEXT | Execution logs |
+
| screenshot_url | TEXT | Optional screenshot of result |
+
| created_at | TIMESTAMP | Timestamp of execution |
**Challenges & Learnings**
Converting unstructured requirements into testable cases.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9