Skip to content

Web scraper infrastructure and email services for powder-hound

License

Notifications You must be signed in to change notification settings

b-dulaney/powder-hound-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

PowderHound-Go

PowderHound-Go is a collection of backend services for PowderHound, primarily handling email delivery and web scraping jobs. These services are built using a distributed task architecture leveraging the Go Asynq library.

Structure

The project is structured as follows:

  • cmd/: Contains the main applications for the project (email-service and scraping-service).
  • config/: Contains JSON configuration files that control the resort web scraping jobs.
  • deployment/: Contains Docker files for the email and scraping services.
  • internal/: Internal packages that contain most of the logic for the email and web scraping services.

Services

Email Service

The Email Service is responsible for building and sending forecast and overnight alert emails. It uses the Hermes library for building the emails and Resend for delivery. The main logic can be found in internal/email/email.go.

Scraping Service

The Scraping Service is responsible for scraping ski resort data from various resort websites. It uses the Chromedp library for web scraping. The main logic can be found in internal/scraping/scraping.go.

Deployment

Both services are containerized using Docker, and are deployed via GitHub Actions using the provided Docker Compose files in the deployment/ directory.

About

Web scraper infrastructure and email services for powder-hound

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published