Skip to content

SYDE 322 Project, scrapes deck data from https://hearthpwn.com to recommend cards to users according to searches

Notifications You must be signed in to change notification settings

mdshiozaki/Hearthpwn-Crawler

Repository files navigation

Hearthpwn-Crawler

Software Design (SYDE 322) Final Project. Objective: use a web crawler combined with a front and back end to scrape data and present it to the user.

Our project is based around deck building in the online card collecting game Hearthstone. The primary game mode of Hearthstone has each player build a deck of 30 cards. With 10 classes and hundreds of cards to choose from, players can be overwhelmed with options. This tool allows players to search for specific cards they already own and find suggestions for cards to place in a deck with it. Using data scraped from https://hearthpwn.com, cards most often found in decks with the searched cards are displayed by most popular to the user.

The scraped data was stored in a MySQL database, which was connected to a web server. The web server housed the API and webcrawler and HTTP calls to the REST API were used as client-server communication.

Activity Diagram: alt text

Data Scraped

Additional Components

Scrapy has MailSender, an email client, built in. This is configured to send text-only emails when crawl errors occur.

Full Implementation

Frontend:

  • Framework: Xamarin
  • Language: C#

Web Server:

  • Service: Amazon Elastic Cloud Compute (EC2)
  • OS: Amazon Linux 2
  • Access Framework: Django v2.2
  • Security: Amazon Security Groups - Custom Access Settings

Database:

  • Service: Amazon Relational Database Service (RDS)
  • Database: MySQL
  • Security: Amazon Security Groups - Custom Access Settings

Subsystem Diagram:

alt text

About

SYDE 322 Project, scrapes deck data from https://hearthpwn.com to recommend cards to users according to searches

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published