Web Crawler

Web Crawler

Full-Stack Project

offline
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
Screenshot 6
Screenshot 7
Screenshot 8
Screenshot 9
Screenshot 10
Screenshot 11
Screenshot 12
Screenshot 13
Screenshot 14
Screenshot 15
Swipe to see more

A fully Dockerized full-stack web crawler application that allows users to submit, queue, and analyze URLs. Built with a robust backend in Express and Prisma (MySQL) and a modern frontend using React and TailwindCSS, it features real-time crawling updates via WebSockets, a visual dashboard for insights, and CRUD capabilities for URLs. The app is production-ready with Prisma migrations and seed logic auto-executed via Docker.

Tech Stack

React
TypeScript
Tailwind
Node.js
React Icons
Recharts
Express.js
Prisma ORM
MySQL
Docker
WebSocket (Socket.io)
Zod
axios
cheerio
http-errors

Features

API Routes

URL Crawling Routes

GET/api/urls/

Get all crawled URLs

GET/api/urls/queued

Get queued URLs

GET/api/urls/stats

Get crawl statistics

GET/api/urls/:urlId

Get single URL details

POST/api/urls/

Crawl a URL immediately

POST/api/urls/queue

Add a URL to the queue

PUT/api/urls/crawl-queued

Start crawling all queued URLs

PUT/api/urls/crawl-selected

Start crawling selected URLs

PUT/api/urls/:urlId/reanalyze

Reanalyze a specific URL

URL Deletion Routes

DELETE/api/urls/:urlId

Delete a specific URL

DELETE/api/urls/

Bulk delete selected URLs