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
- Authenticated userConnects to React dashboard.
- React dashboardSearch, filters, bulk actions, and lifecycle state.Connects to Go / Gin API (authenticated actions).
- Go / Gin APIJWT-protected REST boundary.Connects to Crawl lifecycle.
- Crawl lifecycleURL analysis and explicit crawl states.Connects to GORM, React dashboard (updated status).
- GORMConnects to MySQL.
- 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