{"id":18406638,"url":"https://github.com/ayman-al-khatib/bookly-app","last_synced_at":"2026-03-05T11:32:25.922Z","repository":{"id":171979453,"uuid":"609849582","full_name":"Ayman-Al-Khatib/bookly-app","owner":"Ayman-Al-Khatib","description":"📚 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! 📖✨","archived":false,"fork":false,"pushed_at":"2024-09-05T11:32:16.000Z","size":1350,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-02T09:30:08.226Z","etag":null,"topics":["api","book-library","cross-platform","dart","flutter","google-books-api","json-parsing","mobile-app","rest-api","state-management"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ayman-Al-Khatib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-05T12:35:36.000Z","updated_at":"2024-11-08T16:32:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"36b899dd-8671-4954-ac0d-a85c493f4c79","html_url":"https://github.com/Ayman-Al-Khatib/bookly-app","commit_stats":null,"previous_names":["ayman-al-khatib/bookly","ayman-al-khatib/bookly-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ayman-Al-Khatib/bookly-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayman-Al-Khatib%2Fbookly-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayman-Al-Khatib%2Fbookly-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayman-Al-Khatib%2Fbookly-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayman-Al-Khatib%2Fbookly-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ayman-Al-Khatib","download_url":"https://codeload.github.com/Ayman-Al-Khatib/bookly-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayman-Al-Khatib%2Fbookly-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262473888,"owners_count":23316897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","book-library","cross-platform","dart","flutter","google-books-api","json-parsing","mobile-app","rest-api","state-management"],"created_at":"2024-11-06T03:09:55.411Z","updated_at":"2026-03-05T11:32:25.871Z","avatar_url":"https://github.com/Ayman-Al-Khatib.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎬 Bookly App\n\nThe 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.\n\n## ✨ Features\n\n- **Responsive and Beautiful Design**: Ensures a seamless user experience across different devices.\n- **MVVM Architecture**: Utilizes the Model-View-ViewModel pattern for organized code.\n- **Clean Architecture**: Employs a well-structured approach with separation of concerns.\n- **Nested Scrolling**: Implements smooth and efficient nested scrolling for displaying book content.\n\n## 📸 Screenshots\n\n\u003cdiv style=\"display: flex; gap: 10px; justify-content: space-between;\"\u003e\n  \u003cimg src=\"assets/screenshots/home_page.png\" alt=\"Home Screen\" style=\"width: 47%;\"\u003e\n  \u003cimage width=12\u003e\n  \u003cimg src=\"assets/screenshots/details_book.png\" alt=\"Book Details\" style=\"width: 47%;\"\u003e\n\u003c/div\u003e\n\n## 🛠️ Technologies Used\n\n- **Flutter**: The primary framework used for building the app.\n- **Dart**: The programming language employed for development.\n- **Clean Architecture**: Organizes code into layers (Presentation, Domain, Data) to enhance maintainability and scalability.\n- **State Management**: Utilizes reactive programming techniques for efficient state management.\n- **Dependency Injection**: Facilitates testing and decouples code.\n\n## 📚 Learning Outcomes\n\nThrough this project, I have gained practical experience in:\n\n- Implementing Clean Architecture within a real-world Flutter application.\n- Structuring code into distinct layers to separate concerns.\n- Using dependency injection to manage dependencies effectively.\n- Applying state management techniques for building responsive and efficient UIs.\n- Debugging and optimizing Flutter applications to improve performance.\n\n## 📦 Packages Used\n\n- **[cached_network_image](https://pub.dev/packages/cached_network_image)**: ^3.2.3\n- **[dartz](https://pub.dev/packages/dartz)**: ^0.10.1\n- **[dio](https://pub.dev/packages/dio)**: ^5.6.0\n- **[equatable](https://pub.dev/packages/equatable)**: ^2.0.5\n- **[flutter_bloc](https://pub.dev/packages/flutter_bloc)**: ^8.1.1\n- **[font_awesome_flutter](https://pub.dev/packages/font_awesome_flutter)**: ^10.4.0\n- **[get_it](https://pub.dev/packages/get_it)**: ^7.2.0\n- **[go_router](https://pub.dev/packages/go_router)**: ^14.2.7\n- **[google_fonts](https://pub.dev/packages/google_fonts)**: ^6.2.1\n- **[hive](https://pub.dev/packages/hive)**: ^2.2.3\n- **[hive_flutter](https://pub.dev/packages/hive_flutter)**: ^1.1.0\n- **[url_launcher](https://pub.dev/packages/url_launcher)**: ^6.1.7\n\n## 📚 Course Details\n\n- **Course Name**: [Deep Dive into Clean Architecture in Flutter[Arabic]](https://www.udemy.com/share/108tfg3@RxttKTRbA9uqV-3deoOHGmA9PU5XWyqOTRyFWFJF93o2cxttRE-f5MdGE9aIpqeLXw==/)\n- **Instructor**: [Tharwat Samy](https://www.udemy.com/user/tharwat-samy)\n- **Certificate Issued To**: [Ayman Al-khatib](https://www.udemy.com/certificate/UC-63fbd22a-99d6-47fc-85ff-8d56040d2a57)\n\n## 🚀 Getting Started\n\nTo get a local copy up and running, follow these steps:\n\n### Prerequisites\n\n- **Flutter SDK**: [Installation Guide](https://flutter.dev/docs/get-started/install)\n- **Dart SDK**: Included with Flutter.\n- **Code Editor**: Use VSCode, Android Studio, or any preferred code editor.\n\n### Installation\n\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/Ayman-Al-Khatib/bookly.git\n2. Navigate into the project directory:\n   ```sh\n   cd bookly\n3. Install the dependencies:\n   ```sh\n   flutter pub get\n4. Run the application:\n   ```sh\n   flutter run","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayman-al-khatib%2Fbookly-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayman-al-khatib%2Fbookly-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayman-al-khatib%2Fbookly-app/lists"}