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.
Log in or sign up for Devpost to join the conversation.