Skip to content

KovshefulCoder/Surf-Test-Task--School-2023

Repository files navigation

Cocktail Bar 🍸

The app was created in 14 hours

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.

Demonstration

Screenshots

Video

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

What has been implemented

  • 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.

What has not been implemented

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages