Skip to content

RoderickGrc/terrific

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Terrific QA πŸ§ͺ

Intelligent QA Testing Platform with Session Recording and Automated Analysis

License: MIT TypeScript React Playwright


πŸ“‹ Description

Terrific QA is a fullstack application designed to revolutionize manual testing processes. It allows you to record test sessions in real-time, capturing every user interaction, console logs, network requests, and session video. Additionally, it integrates intelligent analysis capabilities through LLM to automatically generate reports and detect patterns.

✨ Key Features

  • πŸŽ₯ Complete Session Recording: Captures video, user actions, console logs, and network traffic, with both browser-window and full-screen recording modes
  • πŸ”„ Real-Time Updates: WebSocket for live event streaming
  • 🧠 Intelligent LLM Analysis: Automatic context generation and bug reports
  • 🎯 Smart Crawling: Automatic DOM capture with SmartDiff for token optimization
  • πŸ“Š Interactive Timeline: Temporal visualization of all captured events
  • 🏷️ Profile Management: Save and reuse browser configurations with credentials
  • πŸ” Advanced Filters: Filter events by type, errors, crawls, and more
  • πŸ“ Notes and Flags: Add annotations and markers during tests
  • πŸŒ“ Dark Mode: Minimalist Apple-inspired interface with dark mode support
  • πŸ’Ύ Context Export: Generate optimized context for LLMs with applied filters
  • 🌐 Workspaces and MCP integration: Workspace-aware storage plus an MCP server for AI assistants (Cursor and other MCP clients)

πŸ—οΈ Project Architecture

terrific-qa/
β”œβ”€β”€ frontend/              # React 19 + Vite + TypeScript
β”‚   β”œβ”€β”€ components/        # UI components and features
β”‚   β”‚   β”œβ”€β”€ ui/           # Base components (Button, Card, etc.)
β”‚   β”‚   β”œβ”€β”€ layout/       # Layout and Header
β”‚   β”‚   └── features/     # ActivityFeed, SessionReplay, etc.
β”‚   β”œβ”€β”€ src/              # Application logic
β”‚   └── public/           # Static assets
β”‚
β”œβ”€β”€ backend/              # Node.js + Express + Playwright
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/  # Endpoint logic
β”‚   β”‚   β”œβ”€β”€ services/     # Playwright, SmartDiff, Crawler
β”‚   β”‚   β”œβ”€β”€ models/       # Types and data models
β”‚   β”‚   └── utils/        # Utilities
β”‚   └── dist/             # Compiled build
β”‚
β”œβ”€β”€ docs/                 # Documentation and specifications
└── (runtime data)        # Sessions, workspaces, credentials stored under user home in .terrific/

πŸš€ Quick Start

Prerequisites

  • Node.js >= 18.x
  • npm >= 9.x
  • PowerShell (for Windows)

Installation

1️⃣ Clone the Repository

git clone https://github.com/your-username/terrific-qa.git
cd terrific-qa

2️⃣ Configure Environment Variables

Create a .env file in the project root:

# Backend Configuration
PORT=3001
NODE_ENV=development

# OpenAI Configuration (optional, for LLM analysis)
OPENAI_API_KEY=your_api_key_here
OPENAI_MODEL=gpt-4o-mini

# Session Configuration
SESSION_STORAGE_PATH=./sessions
CREDENTIALS_PATH=./credentials.json

3️⃣ Install and Run Backend

cd backend
npm install
npx playwright install chromium
npm run dev

Backend will be available at http://localhost:3001

On Windows you can also start it from the repo root with:

.\start-backend.cmd

4️⃣ Install and Run Frontend

In another terminal:

cd frontend
npm install
npm run dev

Frontend will be available at http://localhost:5173

On Windows you can also start it from the repo root with:

.\start-frontend.cmd

πŸ“– Usage Guide

1. Create a New Session

  1. Open the application in your browser
  2. Configure recording options:
    • βœ… Record user actions
    • βœ… Record console logs
    • βœ… Record network requests
    • βœ… Record video (optional)
    • βœ… Smart auto-crawl
  3. Enter the initial URL to test
  4. Click "Start Session"

2. During the Session

  • A browser will open automatically
  • Interact normally with the web application
  • All events are captured in real-time
  • Add notes, flags, or bug reports from the side panel
  • The system will perform automatic crawls when detecting significant DOM changes

3. Finish and Review

  • Click "End Session"
  • Review the event timeline
  • Play back the video synchronized with events
  • Export context for LLM analysis
  • Apply filters to focus on errors or specific events

🎯 Advanced Features

SmartDiff for Crawls

The system uses an intelligent diff algorithm to optimize storage and context generation:

  • Change Detection: Only saves differences between consecutive crawls
  • Blank Line Compression: Removes redundancies while maintaining semantics
  • Automatic Decision: Chooses between diff or full snapshot based on token efficiency

Browser Profile Management

  • Save browser configurations with cookies and localStorage
  • Automatically reuse login credentials
  • Launch configurator to create new profiles

Smart Filters

  • All Errors: Groups console, network, and server errors
  • Crawls Only: Visualize only DOM captures
  • Network Events: Filter HTTP requests
  • Console Logs: Show only browser logs

Context Export for LLM

Generates an optimized context file that includes:

  • Session metadata
  • Filtered events based on selection
  • Crawls with SmartDiff applied
  • TOON format for maximum readability

Workspaces and MCP integration

  • Workspace-aware storage keeps sessions organized per project.
  • Expose Terrific as an MCP server so AI coding assistants (such as Cursor) can query sessions, logs, and context directly.

πŸ› οΈ Technology Stack

Frontend

  • React 19 - UI Framework
  • TypeScript - Static typing
  • Vite - Build tool and dev server
  • Lucide React - Icons
  • React Router - Navigation

Backend

  • Node.js - Runtime
  • Express - Web framework
  • TypeScript - Static typing
  • Playwright - Browser automation
  • WebSocket (ws) - Real-time communication
  • Turndown - HTML to Markdown conversion
  • Diff - Diff algorithm
  • TOON Format - Serialization format

Testing

  • Vitest - Testing framework

πŸ“š Additional Documentation


🀝 Contributing

Contributions are welcome! Please:

  1. Fork the project
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contribution Guidelines

  • Follow the design specifications in docs/design-specifications.md
  • Maintain TypeScript code with strict typing
  • Add tests for new features
  • Document significant changes

πŸ“ License

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


πŸ‘₯ Author

Rodrigo Garciaguirre


πŸ™ Acknowledgments

  • Playwright for the excellent automation tool
  • React for the UI framework
  • OpenAI for LLM analysis capabilities
  • The open source community for the amazing tools

πŸ“§ Contact

Questions or suggestions? Open an issue on GitHub.


Made with ❀️ to improve the QA process

About

Intelligent QA testing platform with session recording, real-time event capture, and AI-powered analysis. Record user interactions, network traffic, console logs, and DOM changes with automatic SmartDiff optimization for LLM context generation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages