|
1 | | -# quote-hub |
| 1 | +<div align="center"> |
| 2 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/logo.webp" alt="QuoteHub Logo" width="200"/> |
| 3 | + |
| 4 | + # QuoteHub |
| 5 | + |
| 6 | + ### Daily Inspiration Through Curated Quotes |
| 7 | + |
| 8 | + [](https://play.google.com/store/apps/details?id=com.ionicerrrrscode.quotehub&hl=en) |
| 9 | + [](https://flutter.dev/) |
| 10 | + []() |
| 11 | + []() |
| 12 | + |
| 13 | + <p align="center"> |
| 14 | + A beautifully designed Flutter app that delivers daily inspiration through curated quotes and random words. |
| 15 | + </p> |
| 16 | + |
| 17 | + [📱 Download on Play Store](https://play.google.com/store/apps/details?id=com.ionicerrrrscode.quotehub&hl=en) • |
| 18 | + [🔗 Main Repository](https://github.com/malikhaider1/top_quotes) |
| 19 | +</div> |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | +## ✨ Features |
| 24 | + |
| 25 | +- 🔐 **Full User Authentication** - Complete login, signup, and profile management |
| 26 | +- 📅 **Daily Quote Widget** - Start each day with inspiring "Quote of the Day" |
| 27 | +- ❤️ **Favorite & Share** - Browse, save, and share your favorite quotes |
| 28 | +- 🎲 **Random Word Explorer** - Discover new words with beautiful illustrations |
| 29 | +- 🔍 **Full-Text Search** - Find any quote instantly across the entire collection |
| 30 | +- 🏗️ **Clean Architecture** - Built with BLoC state management pattern |
| 31 | +- 📴 **Offline-First** - Access your content anytime, anywhere without internet |
| 32 | +- 📥 **Download & Save** - Export quotes and illustrations as images |
| 33 | + |
| 34 | +--- |
| 35 | + |
| 36 | +## 🛠️ Technologies |
| 37 | + |
| 38 | +<div align="center"> |
| 39 | + |
| 40 | +| Technology | Purpose | |
| 41 | +|------------|---------| |
| 42 | +| **Flutter** | Cross-platform mobile framework | |
| 43 | +| **Dart** | Programming language | |
| 44 | +| **BLoC** | State management pattern | |
| 45 | +| **Clean Architecture** | Code organization & scalability | |
| 46 | +| **REST API** | Backend communication | |
| 47 | +| **SharedPreferences** | Local data persistence | |
| 48 | + |
| 49 | +</div> |
| 50 | + |
| 51 | +--- |
| 52 | + |
| 53 | +## 📱 Screenshots |
| 54 | + |
| 55 | +<div align="center"> |
| 56 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/1.webp" alt="Screenshot 1" width="250"/> |
| 57 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/2.webp" alt="Screenshot 2" width="250"/> |
| 58 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/3.webp" alt="Screenshot 3" width="250"/> |
| 59 | +</div> |
| 60 | + |
| 61 | +<div align="center"> |
| 62 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/4.webp" alt="Screenshot 4" width="250"/> |
| 63 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/5.webp" alt="Screenshot 5" width="250"/> |
| 64 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/6.webp" alt="Screenshot 6" width="250"/> |
| 65 | +</div> |
| 66 | + |
| 67 | +<div align="center"> |
| 68 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/7.webp" alt="Screenshot 7" width="250"/> |
| 69 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/8.webp" alt="Screenshot 8" width="250"/> |
| 70 | + <img src="https://img.ionicerrrrscode.com/company-projects/quotes/9.webp" alt="Screenshot 9" width="250"/> |
| 71 | +</div> |
| 72 | + |
| 73 | +--- |
| 74 | + |
| 75 | +## 🏆 Project Results |
| 76 | + |
| 77 | +✅ **Successfully published on the Google Play Store**, showcasing advanced Flutter architecture |
| 78 | + |
| 79 | +✅ **Created a fully open-source project** with detailed documentation to help the developer community |
| 80 | + |
| 81 | +✅ **Achieved highly performant and smooth user experience** due to clean architecture and BLoC |
| 82 | + |
| 83 | +✅ **Ensured reliable offline mode**, allowing users to access content anytime, anywhere |
| 84 | + |
| 85 | +--- |
| 86 | + |
| 87 | +## 🎯 Challenges & Solutions |
| 88 | + |
| 89 | +### Challenges Faced |
| 90 | + |
| 91 | +1. **Clean Architecture Implementation** |
| 92 | + - Implementing a strict Clean Architecture to ensure the app is scalable and maintainable |
| 93 | + |
| 94 | +2. **Complex State Management** |
| 95 | + - Managing complex state interactions for authentication, data fetching, and offline support using BLoC |
| 96 | + |
| 97 | +3. **Offline-First Experience** |
| 98 | + - Creating a seamless offline-first experience using a local/remote repository pattern |
| 99 | + |
| 100 | +### Solutions Implemented |
| 101 | + |
| 102 | +✨ **Organized code into distinct layers** - Separated data, domain, and UI layers for clear separation of concerns |
| 103 | + |
| 104 | +✨ **Utilized flutter_bloc** - Implemented predictable state management across all app features |
| 105 | + |
| 106 | +✨ **Leveraged SharedPreferences** - Used robust repository pattern to cache data for offline use |
| 107 | + |
| 108 | +--- |
| 109 | + |
| 110 | +## 📊 Project Information |
| 111 | + |
| 112 | +| Detail | Information | |
| 113 | +|--------|-------------| |
| 114 | +| **Status** | ✅ Completed | |
| 115 | +| **Duration** | 4 months | |
| 116 | +| **Team Size** | 1 developer | |
| 117 | +| **Client** | Ionic Errrors Code | |
| 118 | +| **Category** | Mobile Application | |
| 119 | +| **Type** | Business | |
| 120 | + |
| 121 | +--- |
| 122 | + |
| 123 | +## 🚀 Getting Started |
| 124 | + |
| 125 | +### Prerequisites |
| 126 | + |
| 127 | +- Flutter SDK (latest stable version) |
| 128 | +- Dart SDK |
| 129 | +- Android Studio / VS Code |
| 130 | +- Android/iOS device or emulator |
| 131 | + |
| 132 | +### Installation |
| 133 | + |
| 134 | +1. Clone the repository |
| 135 | +```bash |
| 136 | +git clone https://github.com/malikhaider1/top_quotes.git |
| 137 | +cd top_quotes |
| 138 | +``` |
| 139 | + |
| 140 | +2. Install dependencies |
| 141 | +```bash |
| 142 | +flutter pub get |
| 143 | +``` |
| 144 | + |
| 145 | +3. Run the app |
| 146 | +```bash |
| 147 | +flutter run |
| 148 | +``` |
| 149 | + |
| 150 | +--- |
| 151 | + |
| 152 | +## 📁 Project Architecture |
| 153 | + |
| 154 | +This project follows **Clean Architecture** principles with three main layers: |
| 155 | + |
| 156 | +``` |
| 157 | +lib/ |
| 158 | +├── data/ # Data sources, repositories implementation |
| 159 | +├── domain/ # Business logic, use cases, entities |
| 160 | +└── presentation/ # UI, BLoC, widgets |
| 161 | +``` |
| 162 | + |
| 163 | +**State Management:** BLoC (Business Logic Component) pattern for predictable and testable state management. |
| 164 | + |
| 165 | +--- |
| 166 | + |
| 167 | +## 🤝 Contributing |
| 168 | + |
| 169 | +Contributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/malikhaider1/top_quotes/issues). |
| 170 | + |
| 171 | +--- |
| 172 | + |
| 173 | +## 📄 License |
| 174 | + |
| 175 | +This project is open source and available under the MIT License. |
| 176 | + |
| 177 | +--- |
| 178 | + |
| 179 | +## 👨💻 Developer |
| 180 | + |
| 181 | +**Ionic Errrors Code** |
| 182 | + |
| 183 | +- 🌐 Website: [ionicerrrrscode.com](https://ionicerrrrscode.com) |
| 184 | +- 📱 Play Store: [QuoteHub App](https://play.google.com/store/apps/details?id=com.ionicerrrrscode.quotehub&hl=en) |
| 185 | + |
| 186 | +--- |
| 187 | + |
| 188 | +## 💬 Support |
| 189 | + |
| 190 | +If you like this project, please consider: |
| 191 | +- ⭐ Giving it a star on GitHub |
| 192 | +- 📥 Downloading it from the Play Store |
| 193 | +- 🐛 Reporting bugs or suggesting features |
| 194 | + |
| 195 | +--- |
| 196 | + |
| 197 | +<div align="center"> |
| 198 | + <p>Made with ❤️ by Ionic Errrors Code</p> |
| 199 | + <p>© 2026 QuoteHub. All rights reserved.</p> |
| 200 | +</div> |
0 commit comments