HotelTonight is a mobile application developed using Flutter. It supports both Android and IOS.
HotelTonight is a hotel booking application. 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
- flutter_screenutil to make the application responsive
- 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
- easy_localization to handle localization
We have applied clean archeticture concept and here is the basic folder structure:
core folder structure that flutter provides:
hotel-booking
βββ android
βββ assets
βββ build
βββ ios
βββ lib
βββ test
Here is the folder structure we have been using in this project:
lib
βββ business_logic
βββ core
βββ data
βββ presentation
βββ main.dart
This folder containes the business logic of the application specificly state management.
business_logic
βββ booking_cubit
βββ global_cubit
βββ hotel_cubit
βββ user_cubit
βββ bloc_observer.dart
βββ business_logic.dart
This folder contains all services and tools related to the application
core
βββ constant
βββ di
βββ dio_service
βββ exceptions
βββ network_service
βββ router
βββ shared_preferences
βββ styles
βββ utils
This folder contains all data and operations done to that data
data
βββ local
βββ model
βββ remote
βββ repository
This folder containes everything related to the screen of the application.
presentation
βββ screens
βββ view
βββ widget
Here are some screeshots for the application