Cheap Charlie's
Flutter
Android
iOS
Bloc State Management
Clean Architecture
Dependency Injection
Firebase Firestore
Project Description
This project stemmed from a passion project, sparked by the idea of modernising the traditional menu at Cheap Charlies. I set out to create a digital version of the menu that would capture its essence while adding a touch of innovation.
The resulting application offers users a comprehensive view of the entire menu, showcasing all food, drinks, and daily specials. By digitising the menu, I aimed to provide patrons with a seamless browsing experience, enabling them to explore the diverse offerings.
In addition to the menu, the application provides extra features for the user, they can conveniently access information about the restaurant's various locations, complete with the ability to initiate phone calls and effortlessly navigate to their desired destination using Google Maps. By combining functionality with user-friendly design, this project represents a fusion of creativity and practicality.
Project Solution
This application harnesses the power of Flutter, leveraging its cross-platform capabilities to ensure seamless accessibility across both iOS and Android devices in a single codebase. This was essential for this project as patrons have a mixture of both Android and iOS devices.
The application adopts the Bloc pattern for state management, further enhancing its efficiency and maintainability. By embracing the Bloc pattern, the application benefits from a clear separation of concerns, facilitating modular development and enabling streamlined state management across various components. This architectural choice not only promotes code reusability and scalability but also enhances the overall organization and structure of the application.
The application leverages Firebase Firestore as its backend database, serving as the repository for all application data. In addition to Firestore, the application integrates a cloud function that dynamically adjusts the specials list based on the current day of the week. Moreover, the application offers users the flexibility to manually override the specials list as needed.