![]() |
![]() |
![]() |
![]() |
![]() |
Flutter application that lets users browse cocktails fetched from API. Created for the Solvro recruitment process. https://solvro.pwr.edu.pl
It uses Cocktail API provided by Solvro (https://cocktails.solvro.pl/).
Users can search, filter, sort, and save their favorite cocktails. The app supports both light and dark themes and is available in English and Polish. Works on phones and tablets.
flutter- an open-source framework for building multi-platform applicationshttp- library for making HTTP requestsshared_preferences- persistent storage for simple data (used for favorites functionality)flutter_localizations- Flutter's built-in localization supportintl- internationalization and localization facilities
lib/
├── l10n/ # Files related to localizations
├── src/
│ ├── api/
│ │ └── cocktail_api.dart # HTTP client
│ ├── model/ # Data models used in API requests
│ ├── services/
│ │ └── favorites.dart # Favorites persistence implemented with shared_preferences library
│ └── ui/
│ ├── cocktail_item.dart # Widget of cocktail's tile
│ ├── cocktail_item_tablet.dart # Widget of cocktail's tile in tablet layout
│ ├── details.dart # Cocktail detail screen
│ ├── drawer.dart # Side navigation drawer
│ ├── favorites.dart # Favorites screen
│ ├── filter.dart # Filter and sort widget
│ └── home.dart # Main list of cocktails
└── main.dart # App entry point, theme and locale setup
l10n.yaml # Configuration for flutter gen-l10n
pubspec.yaml # Project dependencies and metadata
MVP:
- Show list of cocktails (picture, title).
- Show details of selected drink (ingredients and other information).
- Searching in the list (by name).
Optional functions:
- Light and dark theme.
- Animations.
- Cocktails filter.
- Results sorting.
- Infinite Scroll pagination
- Search debouncing
- Multi-language support (english and polish)
- Search debouncing
- Caching (TTL with clearing old entries after 100 records)
- Favorites mechanism




