Cocktail Bar is an application that enables users to create and store their favorite cocktails in one place.
With this app, users can input details about each cocktail, such as its name, description, ingredient list, preparation recipe, and keep them saved on their device.
mainFlow.mp4
bottomSheet.mp4
add.edit.mp4
validation.mp4
editLogic.mp4
Link to the latest video on Google Drive
- Kotlin
- Jetpack Compose
- MVVM
- Compose navigation
- Hilt
- Room
- Material/Material 3 elements
- UI: The entire application interface and navigation logic have been fully implemented. Specifically, all buttons lead to the required screens, mandatory field validation is in place, a fixed-size Bottom Sheet with scrollable content, and a container with a cutout for the FAB (Floating Action Button).
- Functionality: After the initial opening, a welcome screen is displayed. Pressing the + button opens a cocktail creation form. Upon saving, the main menu opens with the saved cocktail. Upon subsequent app launches, the welcome screen is not displayed, as the user has already saved cocktails.
- Cocktail Creation: From the main screen, pressing the FAB allows the creation of a new cocktail.
- Cocktail Editing: Pressing a cocktail in the main menu opens its description in a Bottom Sheet with an EDIT button. Clicking this button opens a cocktail editing form. Values entered in the form will overwrite the selected cocktail's parameters upon clicking the SAVE button.
- Container for FAB: A container with a cutout for the FAB has been implemented on the main menu screen, following the design.
- Room Implementation: All interfaces and settings for working with cocktails and ingredients have been fully implemented. Only their usage remains.
- Cocktail creation logic works correctly. However, due to a highly non-obvious Room behavior, entered values overwrite the existing cocktail when writing to the database. This has been fixed in the after-shock branch.
- Cocktail editing logic works correctly. However, the previous cocktail parameters are not transferred to the editing screen.
- There is no functionality in place for working with ingredients. Cocktails cannot be added with ingredients, and consequently, ingredients cannot be removed.