EmailScraper

EmailScraper


This app was created to assist a friend with his tour company by centralizing bookings from third-party systems. Here’s what I developed:

  • Set up an AWS WorkMail account to receive emails from third-party booking systems. Linked the WorkMail account with an S3 bucket for backup.
  • Configured S3 bucket events to trigger whenever a new element (email) was created, indicating a new booking.
  • Implemented a GoLang Lambda to parse the received text email into HTML, extracting booking details using XPath/CSS selectors, and emitting an event with the formatted data.
  • Developed another GoLang Lambda to listen to events with formatted data and insert it into an AWS DocumentDB.

I replicated the solution in both Node.js and GoLang to compare performance and optimize costs by considering execution time and memory usage.

Utilizing Lambdas and DocumentDB is advantageous; with no traffic, there are no associated costs, making it an ideal, cost-effective solution for proof of concept validation.

Goto Github Project