A mobile application developed using Flutter. It supports both Android and IOS. It allows the user to find hotels, book hotels, search for specific hotel, and filter hotels by different filterations like: price, location, and facilities.
- dio to make integration with API
- flutter_bloc as state management
- shared_preferences to handle caching data
- google_maps_flutter to use Google map
- internet_connection_checker to handle internet connection
- get_it to make dependency injection
- location to get user's location
- image_picker to pick image from mobile storage
- localization to handle localization
- google_sign in to handle localization
We have applied clean archeticture concept and here is the basic folder structure:
core folder structure that flutter provides:
booking_app
├── android
├── assets
├── build
├── ios
├── lib
└── test
Here is the folder structure we have been using in this project:
lib
├── core
├── featuers
├── bloc_observer.dart
└── main.dart
This folder contains all services and tools related to the application
core
├── app_localization
├── compnent
├── di
├── dio_service
├── error
├── local
├── network
├── routes
├── services
├── usecase
└── utils
This folder containes everything related to the screen of the application and the business logic of the application specificly state management.
presentation
├── auth
├── home
└── onBoarding
├── search
├── splash_screen
Here are some screeshots for the application:
https://drive.google.com/file/d/19F97Hg2rRX-rEoU1nwvgBrQg4w-opXog/view?usp=sharing