Food Change Mood is an application designed to help users discover and explore various meals based on their dietary preferences, preparation time, nutritional values, and cultural origins. The app parses a comprehensive CSV dataset containing meal information and provides multiple features to assist users in finding suitable meals.
- Lists healthy fast food meals that can be prepared in ≤15 minutes
- Filters meals with very low total fat, saturated fat, and carbohydrates
- Implements fast text search (Knuth-Morris-Pratt algorithm)
- Handles partial names and possible typos
- Identifies meals tagged with "iraqi" or containing "Iraq" in description
-Suggests 10 random easy-to-prepare meals meeting criteria:
- ≤30 minutes preparation
- ≤5 ingredients
- ≤6 preparation steps
- Random meal display with 3 attempts to guess preparation time
- Provides feedback (too high/too low) after each attempt
- Suggests sweets without eggs
- Allows liking/disliking to cycle through suggestions
- Suggests keto-friendly meals based on nutritional requirements
- Ensures no repeated suggestions
- Searches meals by addition date
- Handles date format exceptions and empty results
- Finds meals matching desired calorie and protein amounts
- Returns up to 20 random meals related to specified country
- Presents meal name and 3 ingredient options
- Awards points for correct guesses
- Ends after 15 correct answers or first mistake
- Shows 10 random potato-containing meals
- Suggests meals with >700 calories
- Lists seafood meals sorted by protein content (high to low)
- Displays rank, name, and protein amount
- Finds Italian dishes suitable for large groups
- Parses CSV with array values in Nutrition column
- Handles null meal descriptions (2% of dataset)
- Nutrition array order: [Calories, Total Fat, Sugar, Sodium, Protein, Saturated Fat, Carbohydrates]
- The application uses food.csv containing meal information with the described structure.
- [https://drive.google.com/file/d/1px860X8gO_AFHNkcNFe64e_il_bDaKSI/view?usp=sharing]
1- Clone the repository 2- Import the project into your Kotlin-compatible IDE 3- Run the main application 4- Follow on-screen instructions to access different features