EatEasy: Random Cuisine and Restaurant Recommender
Abstract
EatEasy is a specialized random food recommendation software designed specifically for users facing decision fatigue when choosing meals. Users can pre-select disliked or restricted cuisines. Whenever users struggle with deciding what to eat, EatEasy provides an instant random cuisine recommendation along with a curated list of nearby highly-rated restaurants. After making a selection, EatEasy seamlessly redirects the user to Google Maps for navigation. The project emphasizes key software quality attributes: Availability, Interoperability, and Extensibility.
Author
Name: Dalin Wang
Student number: 48275444
Functionality
The complete EatEasy platform will include:
- User preference settings (preferred and disliked cuisines)
- One-click random cuisine recommendations
- Automatic location-based search for nearby restaurants (prioritized by ratings)
- One-click redirection to Google Maps for navigation
- Restaurant bookmarking and dining history feature
- Extensible database of cuisines and restaurants (integration with external APIs like Yelp or TripAdvisor in future)
Scope
- User preference management (disliked cuisines)
- Location-based random cuisine recommendation
- Integration with Google Maps API for restaurant navigation
- Simple and intuitive user interface (recommendation button, results display, navigation)
Quality Attributes
1. Availability
EatEasy must reliably provide services anytime and anywhere, ensuring users quickly receive recommendations for dining decisions. The service should maintain at least 99% uptime across mobile and web platforms.
2. Interoperability
EatEasy must effectively integrate with external services, especially Google Maps API and potentially other third-party platforms (Yelp, TripAdvisor), ensuring smooth data exchange and real-time updates.
3. Extensibility
The architecture should accommodate future expansions such as user reviews, community interactions, and advanced restaurant ratings. Modular design will enable rapid integration of new functional modules.
Evaluation
- Availability Testing: Monitor uptime through automated tools and simulate regular user requests, ensuring service availability remains above 99%.
- Interoperability Testing: Regularly conduct integration tests with Google Maps API and potential third-party APIs to ensure seamless interactions.
- Extensibility Assessment: Evaluate the ease of adding new features like user reviews and community interaction functionalities by developing and integrating test modules quickly.
- User Experience Feedback: Collect usability feedback from approximately 10 test users, assessing the recommendation accuracy and interface intuitiveness.