Skip to content

Latest commit

Β 

History

History
124 lines (95 loc) Β· 3.63 KB

File metadata and controls

124 lines (95 loc) Β· 3.63 KB

ScrapeScribe Frontend

A modern web interface for interactive web scraping and API generation. This frontend application allows users to visually select elements from web pages and generate custom APIs for data extraction.

πŸš€ Features

  • URL Input & Preview: Enter any URL and view the rendered page directly in the application
  • Interactive Element Selection: Point-and-click interface for selecting target elements
  • Visual Data Preview: Real-time preview of extracted data
  • Drag-and-drop API Builder: Design your custom API endpoints with an intuitive interface
  • Live Documentation: Automatically generated API documentation based on your configuration
  • WebAssembly Integration: High-performance processing using Rust-compiled WebAssembly

πŸ› οΈ Tech Stack

  • Svelte
  • Embedded Headless Browser Integration
  • RESTful API Integration
  • Modern UI Component Library
  • TypeScript for Type Safety
  • Rust + WebAssembly for Performance-Critical Operations

πŸ“‹ Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • Modern web browser
  • Backend API service running
  • Rust toolchain
  • wasm-pack

πŸš€ Running Locally

  1. Install wasm-pack:
cargo install wasm-pack
  1. Clone the repository (private access required)
git clone https://github.com/SrapeScribe/client.git
cd client
  1. Install dependencies:
npm install
  1. Build the WebAssembly:
npm run wasm:build
  1. Configure environment variables:
cp .env.example .env
  1. Start the development server:
npm run dev
  1. Navigate to http://localhost:5173/

πŸ—οΈ Project Structure

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ BrowserView/        # Embedded browser component
β”‚   β”œβ”€β”€ ElementSelector/    # Element selection tools
β”‚   β”œβ”€β”€ DataPreview/       # Data preview panel
β”‚   β”œβ”€β”€ ApiBuilder/        # API configuration interface
β”‚   └── common/            # Shared UI components
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ api/              # Backend API integration
β”‚   β”œβ”€β”€ browser/          # Browser control functions
β”‚   └── selectors/        # Element selector logic
β”œβ”€β”€ store/                # State management
β”œβ”€β”€ types/                # TypeScript definitions
β”œβ”€β”€ wasm/                 # WebAssembly modules
└── utils/                # Helper functions

πŸ” Available Scripts

  • npm run dev - Start development server + build WebAssembly modules
  • npm run build - Build for production + build WebAssembly modules
  • npm run wasm:build - Build WebAssembly modules
  • npm run lint - Run linter
  • npm run format - Format code

πŸ“ Development Guidelines

  • Follow the established code style and formatting rules
  • Update documentation as needed
  • Use semantic commit messages
  • Keep pull requests focused and manageable in size
  • Ensure crucial changes are approved by the team

πŸ“š Documentation

Additional documentation is available in the docs/ directory:

πŸ“„ License

This software is proprietary. Copyright (c) 2024 MYKYTA VITKOVSKYI.

Academic Use

This software may be viewed and evaluated for educational purposes as part of a student project presentation.

Commercial and Production Use

All rights reserved. Unauthorized copying, modification, or distribution is prohibited. See the LICENSE file for details.


This is a student project with restricted usage rights. See LICENSE for details.