Fruity is a web application featuring a simple fruit image recognition model powered by a neural network. The app provides nutritional information for recognized fruits, along with random fruit facts. The user can also contribute by adding new fruit facts through the website interface.
Built with Quart (an asynchronous Python web framework), this application integrates requests to fetch fruit information and share interesting facts about them.
- Fruit Image Recognition: Upload an image of a fruit and receive nutritional information (calories, carbs, protein, fat). Supported fruits: apple, banana, cherry, chickoo, grapes, kiwi, mango, orange, strawberry.
- Random Fruit Facts: Get random, fun facts about fruits.
- Add Your Own Facts: Easily add new fruit facts directly through the web interface. Try getting facts again and you might be see the ones you added!
- Backend Powered by Quart: Lightweight Python backend using Quart to handle asynchronous requests efficiently.
To run the Fruity application locally, follow these steps to set up the environment and start the server.
Ensure that you have Poetry installed on your machine to manage dependencies.
Clone the Repository
Begin by cloning the repository to your local machine with a shallow clone (to avoid fetching the entire Git history):
git clone --depth 1 https://github.com/vougioukakis/fruity.git
Navigate to the Project Directory
Move into the fruit-img-rec directory where the server code resides:
cd fruity/fruit-img-rec
Install Dependencies
Use Poetry to install the required dependencies:
poetry install
Run the Server
Once the dependencies are installed, run the Quart server:
poetry run python server.py
The server will now be running locally, and you can access the app via your web browser at http://localhost:5005.
Quart (Python framework): For building the asynchronous server.
Poetry: For managing project dependencies.
PyTorch: For the fruit image recognition model.
HTML/CSS: For the frontend user interface.