Determine the freshness of your produce using machine learning with this green-thumbed mobile app.
At the minimum, this app will contain:
- A camera page:
- Allows users to either upload a photo
- Take a photo of the produce they want to find out information on
- A viewing page
- Will show the stage that the produce is in (unripe, ripe, rotten)
- Will show any informaton deemed necessary to the freshness of the produce (peak season, time left until rot)
- Will allow users to save the produce to remember and get updates
- A saved page
- Will show all of the produce saved by the user
- Create user accounts
- Allow users to save "a fridge" with other people in their home, meaning that multiple users will be able to add and see the same pieces of produce as the people they share a fridge with
- Enable popup notifications providing updates on a desired piece of produce
- Grocery store feature: allow users to know the freshness of produce at a grocery store, takes a photo of a group of produce, identifies an estimate of the unripe, ripe and rotten produce, highlights each group
- IDE : Android Studio
- You can really use any text editor you prefer (VSCode, etc) but I really like Android Studio, I've used it for many projects and find it very reliable especially when for making cross compatible mobile apps
- Machine learning API:
- Cloud Vision API
- Google's ML API, seems to have everything you might need, however we do not get the advantage of making our own compelte custom models (which I recommend for experience)
- Google's Documentaiton
- Cloud Vision API with Python
- Image recognition video
- Cloud Vision API
- Alternative:
- Make our own complete models using TenserFlow Lite. I would recommend this option over using the Cloud Recognition API as this will give us complete control over our ML model
- If you do choose this route, to store the images I recommend storing our dataset in Kaggle
- Framework/language: Flutter or React Native
- Flutter:
- Uses Dart as a language
- Has LOTS of documentation
- Using the camera with flutter
- React Native
- Really either one of these works, however I think Flutter has the upperhand in terms of compatibility with Tensor Flow, Cloud Vision API and Firebase
- Flutter:
- Database:
- Used to store our information about the produce (average timeline of the produce, seasonality, etc)
- Firebase, made by google, also has services making it easier to train our ML Models
- Firebase and flutter
- Gitbash
- A very useful Cheat Sheet of commands you will use