Web Page Change Tracker

Phase 1 — Add, Remove, and Store Pages

  • Implement a command-line interface or a graphical interface to add, delete, and modify tracked web pages
  • Store pages in a local database (e.g., SQLite) with URL and last snapshot
  • Validate URLs before saving

Functional result: User can manage a list of pages to track; database correctly stores added, deleted, and modified entries.


Phase 2 — Page Retrieval & Snapshot

  • Fetch HTML content of each tracked page
  • Save initial snapshot in the database
  • Handle basic errors (network failures, invalid URLs)

Functional result: Program downloads and stores snapshots of all tracked pages; failed URLs are reported clearly.


Phase 3 — Change Detection

  • Compare current page snapshot with the last saved version
  • Detect changes recursively in the HTML content (e.g., new text, removed elements)
  • Mark which parts of the page have been modified

Functional result: Program identifies when a page has changed and records differences; no false positives for unchanged pages.


Phase 4 — Notifications & Reporting

  • Send email notifications to the user when a page has changed
  • Include summary of changes in the message

Functional result: User receives email alerts when tracked pages are modified; console or log output lists the detected changes.