Everyone on the team is an avid European football fan. Two of us play football and basketball, and the other one watches football. We found out that unlike basketball, a sport with lots of really good analysis websites, football doesn't have nearly as many resources to present and analyze the sport. So we decide to fill this gap.

What it does

FootballWatcher is a CLI tool that shows live football standings from BBC Sport. Users can check a team’s current position or view full league tables for the Premier League and La Liga.

How we built it

The project is built with Node.js using Puppeteer for scraping, Commander for CLI flags, and Inquirer for interactive prompts. The project is entirely written in Javascript, and can be interacted with in the terminal in bash.

Challenges

Handling team name variations and making scraping reliable with changing page layouts proved to be challenging, but we settled with using maps instead of Commander options.

Accomplishments

We produced a working end-to-end CLI extension with both flags and interactive mode, plus clean output for teams and full tables. We weren't as familiar with Javascript before and decided to go all in; we finished the project with a lot more understanding and familiarity of the language.

What we learned

We learnt to utilize multiple Node.js libraries and tools to set up a CLI environment, handle real-world scraping issues, and improve UX in terminal apps. We also learnt to analyze a table's HTML structure on the web to perform web scraping correctly.

What's next for FootballWatcher

We plan to add more leagues, live score look-ups, past and future match searches, and player analysis. Along with those, we want to learn npm packaging and integrate the CLI extension with bots or notifications on local machines.

Built With

Share this project:

Updates