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

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages