Public project

Web Crawler Dashboard

A React and TypeScript dashboard backed by Go, Gin, and MySQL for URL analysis, crawl lifecycle management, search, filters, and bulk actions.

Role
Implemented the React and TypeScript frontend and Go/Gin backend integration represented in the public project.
Result
Provides authenticated URL analysis and crawl management with clear lifecycle state.
Stack
React · TypeScript · Go · Gin · GORM · MySQL · Docker

System architecture

The building blocks in view

Read the system as text
  1. Authenticated userConnects to React dashboard.
  2. React dashboardSearch, filters, bulk actions, and lifecycle state.Connects to Go / Gin API (authenticated actions).
  3. Go / Gin APIJWT-protected REST boundary.Connects to Crawl lifecycle.
  4. Crawl lifecycleURL analysis and explicit crawl states.Connects to GORM, React dashboard (updated status).
  5. GORMConnects to MySQL.
  6. MySQL

Key decisions

What shaped the implementation

Use explicit crawl states

Reason
Kept long-running URL analysis visible in the management interface.
Trade-off
Lifecycle transitions need clear backend rules.

Separate dashboard and API

Reason
Kept interface state and persistence responsibilities clear.
Trade-off
Created two delivery surfaces to coordinate.

Outcome

Verified delivery

Authenticated

Crawl-management workflow

Automated

Frontend tests