orakzai-io
Initial Version
34d0dc9
|
Raw History Blame Contribute Delete
1.84 kB
# Frontend - Web Scraper Dashboard
A modern, responsive dashboard interface for initiating, monitoring, and downloading data from your asynchronous web scraping jobs.
## Project Structure & Key Components
The frontend is a lightweight, high-performance application built using **Vite** and **TypeScript**, focused on real-time feedback and clear data visualization.
### Root Files
- **`index.html`**: The single-page application entry point.
- Contains the core layout structure: URL input field, progress tracking area, and the action buttons for starting jobs and downloading results.
- **`package.json`**: Project configuration.
- Manages scripts for development (`npm run dev`) and production builds (`npm run build`).
- Lists only the essential dependencies (**Vite**, **TypeScript**) for a fast, browser-native experience.
### Source Files (`src/`)
- **`main.ts`**: The core dashboard orchestrator.
- Manages all **UI state** (pending/processing/completed/failed).
- Implements the **Asynchronous Polling Loop** to keep the interface updated with real-time progress from the backend.
- Handles dynamic DOM manipulation and event listeners for URL submission and result downloads.
- **`api.ts`**: The communication layer.
- A dedicated API client that handles all `fetch` requests to the FastAPI backend.
- Directs traffic for `/scrape`, `/results`, and `/download` endpoints.
- **`css/style.css`**: The design system.
- Defines a **fully responsive, premium aesthetic** using Vanilla CSS.
- Manages the visual feedback for various job states (animations, status colors, and layout transitions).
- **`vite-env.d.ts`**: TypeScript environment definitions for Vite-specific features and environment variables.
---
[Return to Root Project README](../README.md)