Skip to content

Latest commit

Β 

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Webloom

Automated, Continuous Web Monitoring Platform

Monitor any webpage. Track changes. Detect price movements. Store versions. Get alerts. No code needed.


Key Features

πŸ” Continuous Monitoring

Define runtime intervals (every X minutes/hours) and Webloom keeps scraping automatically, providing ongoing surveillance of your target webpages.

🧬 Versioning + History

For each monitored page, Webloom stores structured snapshots and creates diffs over time:

  • Text changes
  • Price movements
  • Image updates
  • Link removals
  • Metadata shifts

πŸ“‰ Price Tracking & Trend Graphs

Automatically extracts, normalizes & tracks price values with visualization:

  • Price drops
  • Price increases
  • Stable periods

🧠 Smart Change Detection

Every version is compared to previous ones using:

  • Similarity scoring
  • Difference weighting
  • Element-wise changes

You don't manually diff pages β€” Webloom does.

πŸ›° Distributed Agents Architecture

Webloom follows a microservices architecture with independent agents communicating through RabbitMQ:

Agent Responsibility
selector-agent Infer CSS selectors using heuristic algorithms
discovery-agent Find additional links to scrape
scraper-agent Fetch page content securely
parser-agent Extract structured data
classifier-agent Classify page types
change-detector-agent Detect content differences
price-tracker-agent Extract and track price history
notifier-agent Send alerts via email/Telegram
scheduler-agent Automate periodic runs
storage-agent Persist data to MongoDB
control-agent Handle pause/resume/stop
health-monitor-agent Pipeline metrics & heartbeats

πŸ–₯ Beautiful Dashboard (Next.js)

A responsive, real-time dashboard built with Next.js 14 featuring:

  • Job analytics and management
  • Run history and status
  • Version timeline visualization
  • Live event streaming
  • Price trend graphs
  • Aggregated insights

Tech Stack

Backend & Agents

  • Node.js + Docker
  • RabbitMQ for message orchestration
  • MongoDB Atlas free tier for data storage
  • Distributed microservice model

Frontend

  • Next.js 14 (App Router)
  • TailwindCSS for styling
  • Chart.js/Recharts for data visualization

Deployment

  • Railway (backend services)
  • Vercel (frontend)
  • MongoDB Atlas (database)
  • GitHub Actions for CI/CD

Works fully in free environments with zero hosting costs.

Architecture

                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚      Frontend      β”‚
                β”‚     (Next.js)      β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
                          β–Ό
                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 β”‚   API Gateway    β”‚
                 β”‚ (Node.js/Express)β”‚
                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β–Ό
               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
               β”‚      RabbitMQ Broker   β”‚
               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β–Ό              β–Ό              β–Ό               β–Ό              β–Ό
Selector     Discovery      Scraper         Parser         Classifier
 Agent        Agent          Agent           Agent           Agent
   β”‚              β”‚              β”‚               β”‚              β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               β–Ό
       Change Detector Agent
               β”‚
               β–Ό
        Price Tracker Agent
               β”‚
               β–Ό
         Storage Agent
               β”‚
               β–Ό
        MongoDB Database

Documentation Index

The project includes comprehensive documentation organized into the following categories:

Getting Started

Prerequisites

  • Docker Desktop installed
  • Node.js 18+

Run Locally

git clone https://github.com/your-org/webloom.git
cd webloom
docker-compose up --build

Access Points

Deployment

Webloom is designed to run completely free on cloud platforms:

Infrastructure Provider Notes
Frontend Vercel Free tier
Backend Railway Free tier
Database MongoDB Atlas Free tier
Message Broker Railway Add-on Free tier

No credit card required for any service.

See docs/PLATFORM-ENGINEERING/deployment.md for detailed deployment instructions.

Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a pull request

License

See LICENSE for details.


If you like this project, please star this repository! ⭐

"Watch the web evolve β€” automatically."

About

Webloom is an automated web monitoring system that continuously scrapes webpages, detects changes, tracks price variations, stores structured history, and triggers alerts. Powered by distributed agents, message queues, scheduling, and versioned storage, it turns any webpage into evolving actionable data.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages