Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ayman-al-khatib/bookly-app
📚 Bookly is a Flutter application that allows users to read books. It uses the Google Books API to display a wide range of books, making it easy to find and enjoy your next read! 📖✨
https://github.com/ayman-al-khatib/bookly-app
api book-library cross-platform dart flutter google-books-api json-parsing mobile-app rest-api state-management
Last synced: 13 days ago
JSON representation
📚 Bookly is a Flutter application that allows users to read books. It uses the Google Books API to display a wide range of books, making it easy to find and enjoy your next read! 📖✨
- Host: GitHub
- URL: https://github.com/ayman-al-khatib/bookly-app
- Owner: Ayman-Al-Khatib
- License: mit
- Created: 2023-03-05T12:35:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-05T11:32:16.000Z (2 months ago)
- Last Synced: 2024-11-06T03:09:51.103Z (13 days ago)
- Topics: api, book-library, cross-platform, dart, flutter, google-books-api, json-parsing, mobile-app, rest-api, state-management
- Language: Dart
- Homepage:
- Size: 1.29 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🎬 Bookly App
The Bookly App is a mobile application designed to search and filter free books available via the Google Books API. This app was developed as part of a training course by Tharwa Sami and is intended for educational purposes only.
## ✨ Features
- **Responsive and Beautiful Design**: Ensures a seamless user experience across different devices.
- **MVVM Architecture**: Utilizes the Model-View-ViewModel pattern for organized code.
- **Clean Architecture**: Employs a well-structured approach with separation of concerns.
- **Nested Scrolling**: Implements smooth and efficient nested scrolling for displaying book content.## 📸 Screenshots
## 🛠️ Technologies Used
- **Flutter**: The primary framework used for building the app.
- **Dart**: The programming language employed for development.
- **Clean Architecture**: Organizes code into layers (Presentation, Domain, Data) to enhance maintainability and scalability.
- **State Management**: Utilizes reactive programming techniques for efficient state management.
- **Dependency Injection**: Facilitates testing and decouples code.## 📚 Learning Outcomes
Through this project, I have gained practical experience in:
- Implementing Clean Architecture within a real-world Flutter application.
- Structuring code into distinct layers to separate concerns.
- Using dependency injection to manage dependencies effectively.
- Applying state management techniques for building responsive and efficient UIs.
- Debugging and optimizing Flutter applications to improve performance.## 📦 Packages Used
- **[cached_network_image](https://pub.dev/packages/cached_network_image)**: ^3.2.3
- **[dartz](https://pub.dev/packages/dartz)**: ^0.10.1
- **[dio](https://pub.dev/packages/dio)**: ^5.6.0
- **[equatable](https://pub.dev/packages/equatable)**: ^2.0.5
- **[flutter_bloc](https://pub.dev/packages/flutter_bloc)**: ^8.1.1
- **[font_awesome_flutter](https://pub.dev/packages/font_awesome_flutter)**: ^10.4.0
- **[get_it](https://pub.dev/packages/get_it)**: ^7.2.0
- **[go_router](https://pub.dev/packages/go_router)**: ^14.2.7
- **[google_fonts](https://pub.dev/packages/google_fonts)**: ^6.2.1
- **[hive](https://pub.dev/packages/hive)**: ^2.2.3
- **[hive_flutter](https://pub.dev/packages/hive_flutter)**: ^1.1.0
- **[url_launcher](https://pub.dev/packages/url_launcher)**: ^6.1.7## 📚 Course Details
- **Course Name**: [Deep Dive into Clean Architecture in Flutter[Arabic]](https://www.udemy.com/share/108tfg3@RxttKTRbA9uqV-3deoOHGmA9PU5XWyqOTRyFWFJF93o2cxttRE-f5MdGE9aIpqeLXw==/)
- **Instructor**: [Tharwat Samy](https://www.udemy.com/user/tharwat-samy)
- **Certificate Issued To**: [Ayman Al-khatib](https://www.udemy.com/certificate/UC-63fbd22a-99d6-47fc-85ff-8d56040d2a57)## 🚀 Getting Started
To get a local copy up and running, follow these steps:
### Prerequisites
- **Flutter SDK**: [Installation Guide](https://flutter.dev/docs/get-started/install)
- **Dart SDK**: Included with Flutter.
- **Code Editor**: Use VSCode, Android Studio, or any preferred code editor.### Installation
1. Clone the repository:
```sh
git clone https://github.com/Ayman-Al-Khatib/bookly.git
2. Navigate into the project directory:
```sh
cd bookly
3. Install the dependencies:
```sh
flutter pub get
4. Run the application:
```sh
flutter run