I like to do maintenance work on my car and also do it for my parents and siblings' cars. I would mostly just do the simpler tasks such as changing the engine and cabin air filter and sometimes the engine oil as well. In order to do these tasks, I would have to search online for parts multiple websites to compare in store availability and/or prices of the similar items in different retailers. Doing this for one car for multiple maintenance items can become a hassle and take around a minute or 2 and even longer if the exact fit for a specific model isn't available and I would need to check another retailer. I wanted to build a tool for myself, my friends, and potentially others like me.
What it does
MindYoMaintenance pulls information from Ford Connect API and allows you to search for simple maintenance items/parts from retailers for your specific vehicle model. It also checks criteria of when you need to change a maintenance item for your car and highlight which ones you will need to change, so you can easily find what and where to purchase what you need.
How we built it
MindYoMaintenance is mobile app built with React-Native. The app pulls your information from Ford Connect API and uses that to make searches for the parts you need. The backend server was built with express/nodejs and along with redis. The server isn't utilizing docker, but I used docker for creating a redis server for the server to use. Playwright was used to scrape data from https://parts.ford.com/en.html and advanceautoparts which is where the app finds its parts from and more vehicle information.
Challenges we ran into
I never used playwright before so trying figure out how to build a web scraper was tough to do as it was very tedious of figuring out a website worked properly. It was also tough making React Native App work and look properly on the web and iPhone took a lot of time.
Accomplishments that we're proud of
This is the first time I created a React Native app that wasn't a hello world example and I'm happy with the results. Even though there is a lot of room for improvement, this app is something I would use since it is useful to me and can help save me time and potentially some money when I need to do maintenance on my car.
What we learned
I learned more about how to use Playwright and what its capabilities are. I definitely found out more do's and dont's of React Native. I also learned my idea has more potential grow and also be useful for other vehicles such as motorcycles and electric vehicles. I learned about the Ford Connect API and its capabilities, such as being able to lock/unlock your door starting/stopping an engine with an API. If that can be done, in the future I could see more things available which I'm excited to see.
What's next for MindYoMaintenance
There is a lot I would like to do with MindYoMaintenance. The app can use more more data from other retailers for parts comparison and the UI can be made prettier and more user friendly. I would also like to be able to search for more different types of parts, rather than only basic maintenance items and be able to get more detailed information on when things should be changed.