Airnbn is a simple prototype app which lists tourist 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 | INFO |
---|---|
images | readme images files |
asset | images and lottie files |
Then the lib directory
DIRECTORY | INFO |
---|---|
application | State Management |
core | Global Classes |
domain | Abstract Classes |
infrastructure | Domain implementation (backend) |
presentation | UI |