Electronic Components Price Checker
GitHubAward-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.