Electronic Components Price Checker

GitHub

Award-winning University Team Project: A web scraping tool to check the price of electronic components from an external API.

Key Features

  • Web scraping for electronic component prices
  • Integration with OctopartAPI
  • Excel spreadsheet input for part lists
  • Role-based access control

Description

This project was completed as part of a second-year university module, where our team of three successfully bid for a project in collaboration with Tharsus, a contract manufacturer specialising in advanced manufacturing and electro-mechanical assembly.

We worked directly with the industry stakeholder to understand their needs and developed a solution tailored to their requirements. The result was a web-based price comparison checker for electronic components.

Technology & Development

Technology Used

  • Python
  • Flask web framework
  • OctopartAPI
  • AWS RDS with MariaDB

Development Summary

After winning the project bid, we met with our stakeholder to understand their frustrations and formulate a bespoke solution. We composed a list of functional and non-functional requirements based on their needs.

Our tech stack included Python with the BeautifulSoup library for web scraping and Flask for the front-end web framework. We integrated the OctopartAPI to search for components on Octopart. The system operates by taking an Excel spreadsheet containing a part list (part number, quantity, etc.), searching Octopart for the items, and returning the optimal price for each.

Results were stored on a MariaDB AWS RDS and featured account security with role-based access control for varying functionality at different user levels.

As a team, we held frequent standup meetings to discuss progress and challenges. I was responsible for task delegation early in the project and managed the sprints throughout the project lifecycle.

Outcome

The project was a success, delivering a functional product that met the client's specifications. Our team gained valuable insight into software development in a team environment.

The School of Computing faculty recognized our project as superior among approximately 60 groups in the cohort, awarding us 'Best Team Project' and a cash prize.