“Airnbn” is a small, simple and beautiful app which lists destinations.
Before we start, you can take a look at the app:
- Book trips with a single swipe.
- View trips timeline.
- Favourite any trip.
To clone and run this application, you'll need Git and Flutter installed on your computer. From your command line:
# Clone this repository
$ git clone https://github.com/Shadow60539/travel_app.git
# Go into the repository
$ cd travel_app.git
# Install dependencies
$ flutter packages get
# Run the app
$ flutter run
Some very good packages are used in the project, not a big list.
Below are the information about these packages.
package | explain |
---|---|
font_awesome_flutter | Awesome icons |
flag | Country Flags |
http | Network |
cached_network_image | Caching Network Images |
flutter_bloc | Bloc Pattern |
lottie | Lottie files animations |
google_fonts | Google fonts |
freezed | Code generation for immutable classes |
lint | Rules handler for Dart |
build_runner | Build Custom Models |
The project directory structure is as follows:
├── android
├── asset
├── build
├── images
├── ios
├── lib
├── pubspec.lock
├── pubspec.yaml
Let me explain the other directories besides lib:
directory | explain |
---|---|
images | readme images files |
asset | images and lottie files |
Then the lib directory
directory | explain |
---|---|
core | Global Classes |
data | Fetching data from backend |
domain | Converting raw json data into models -DTOs |
application | State Management |
presentation | UI |