|
1 |
| -# Flutter UI Designs |
| 1 | +# 🎨 Flutter UI Designs |
2 | 2 |
|
3 |
| -> ## True cross platform app runs on web, mobile & desktop |
| 3 | +A comprehensive collection of beautifully crafted Flutter UI implementations supporting web, mobile, and desktop platforms. ✨ |
4 | 4 |
|
5 |
| -## Download |
| 5 | +## ⭐ Features |
| 6 | + |
| 7 | +- 🌐 Cross-platform support (Web, Android, iOS, Windows, macOS, Linux) |
| 8 | +- 📱 Responsive layouts that adapt to different screen sizes |
| 9 | +- 🎬 Complex animations and transitions |
| 10 | +- 🌍 Internationalization (English, Chinese, Arabic) |
| 11 | +- 🌓 Dark/Light theme support |
| 12 | +- 🔥 Firebase integration for analytics and crash reporting |
| 13 | +- 📦 State management with Provider pattern |
| 14 | +- 🏗️ Clean and modular architecture |
| 15 | + |
| 16 | +## 💫 UI Implementations |
| 17 | + |
| 18 | +1. **Healthy Food Delivery** 🥗 |
| 19 | + |
| 20 | + - Food listing with parallax effects |
| 21 | + - Detailed food item view |
| 22 | + - Nutritional information display |
| 23 | + - Rating system |
| 24 | + |
| 25 | +2. **Hot Air Balloon** 🎈 |
| 26 | + |
| 27 | + - Booking interface |
| 28 | + - Flight details and scheduling |
| 29 | + - Interactive balloon animations |
| 30 | + - Multi-step booking process |
| 31 | + |
| 32 | +3. **Sky View** 🌌 |
| 33 | + |
| 34 | + - Planet/Star viewing interface |
| 35 | + - Interactive space exploration |
| 36 | + - Celestial body details |
| 37 | + - Parallax star field effects |
| 38 | + |
| 39 | +4. **Asics Shoes Concept** 👟 |
| 40 | + |
| 41 | + - Product showcase |
| 42 | + - Color variants |
| 43 | + - Size selection |
| 44 | + - Product details presentation |
| 45 | + |
| 46 | +5. **Egg Timer Concept** ⏲️ |
| 47 | + |
| 48 | + - Circular timer interface |
| 49 | + - Gesture-based controls |
| 50 | + - Visual time tracking |
| 51 | + - Start/pause/reset functionality |
| 52 | + |
| 53 | +6. **Chef Craft** 👨🍳 |
| 54 | + - Recipe browsing |
| 55 | + - Cooking instructions |
| 56 | + - Ingredient lists |
| 57 | + - Chef profiles |
| 58 | + |
| 59 | +## 🛠️ Setup |
| 60 | + |
| 61 | +1. **Last Tested Version** |
| 62 | + |
| 63 | +```bash |
| 64 | +Flutter 3.24.4 • channel stable |
| 65 | +Dart 3.5.4 |
| 66 | +DevTools 2.37.3 |
| 67 | +``` |
| 68 | + |
| 69 | +2. **Enable Platforms** 🖥️ |
| 70 | + |
| 71 | +```bash |
| 72 | +flutter config --enable-web |
| 73 | +flutter config --enable-macos-desktop |
| 74 | +flutter config --enable-linux-desktop |
| 75 | +flutter config --enable-windows-desktop |
| 76 | +``` |
| 77 | + |
| 78 | +3. **Installation** 📥 |
| 79 | + |
| 80 | +```bash |
| 81 | +# Clone repository |
| 82 | +git clone https://github.com/hmziqrs/flutter-ui-designs.git |
| 83 | + |
| 84 | +# Install dependencies |
| 85 | +flutter pub get |
| 86 | + |
| 87 | +# Run app |
| 88 | +flutter run |
| 89 | +``` |
| 90 | + |
| 91 | +## 📁 Project Structure |
| 92 | + |
| 93 | +``` |
| 94 | +lib/ |
| 95 | +├── MiniApps/ # Individual UI implementations |
| 96 | +├── configs/ # App-wide configuration |
| 97 | +├── Providers/ # State management |
| 98 | +├── screens/ # Main app screens |
| 99 | +├── services/ # Firebase & platform services |
| 100 | +├── statics/ # Static data & models |
| 101 | +├── utils/ # Utility functions |
| 102 | +└── widgets/ # Reusable widgets |
| 103 | +``` |
| 104 | + |
| 105 | +## 🔑 Key Components |
| 106 | + |
| 107 | +### Core Architecture 🏛️ |
| 108 | + |
| 109 | +- `Navigator.dart` - Custom navigation handling with transitions |
| 110 | +- `AppDimensions.dart` - Responsive sizing system |
| 111 | +- `AppTheme.dart` - Theme management |
| 112 | +- `AppLocalizations.dart` - Internationalization support |
| 113 | + |
| 114 | +### Widget System 🧩 |
| 115 | + |
| 116 | +- Screen - Base widget for all screens |
| 117 | +- Custom animations |
| 118 | +- Reusable UI components |
| 119 | +- Platform-specific adaptations |
| 120 | + |
| 121 | +### State Management 📊 |
| 122 | + |
| 123 | +- Provider pattern implementation |
| 124 | +- Screen-level state isolation |
| 125 | +- App-wide state management |
| 126 | +- Animation state handling |
| 127 | + |
| 128 | +## 🤝 Contributing |
| 129 | + |
| 130 | +1. Fork repository |
| 131 | +2. Create feature branch |
| 132 | +3. Commit changes |
| 133 | +4. Push to branch |
| 134 | +5. Create pull request |
| 135 | + |
| 136 | +## 📲 Download |
6 | 137 |
|
7 | 138 | <div id="downloads">
|
8 | 139 | <a href="https://play.google.com/store/apps/details?id=com.onemdev.flutter_ui_challenges">
|
9 |
| - <img src="https://raw.githubusercontent.com/hackerhgl/flutter-ui-designs/master/.github/assets/google-play.png" alt="Play Store badge" width="200" /> |
| 140 | + <img src="https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/master/.github/assets/google-play.png" alt="Play Store badge" width="200" /> |
10 | 141 | </a>
|
11 |
| - <a href="https://github.com/hackerhgl/flutter-ui-designs/releases/latest/download/app-release.apk"> |
12 |
| - <img src="https://raw.githubusercontent.com/hackerhgl/flutter-ui-designs/master/.github/assets/android.png" alt="Android badge" width="200" /> |
| 142 | + <a href="https://github.com/hmziqrs/flutter-ui-designs/releases/latest/download/app-release.apk"> |
| 143 | + <img src="https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/master/.github/assets/android.png" alt="Android badge" width="200" /> |
13 | 144 | </a>
|
14 |
| - <a href="https://github.com/hackerhgl/flutter-ui-designs/releases/latest/download/windows-release.zip"> |
15 |
| - <img src="https://raw.githubusercontent.com/hackerhgl/flutter-ui-designs/master/.github/assets/windows.png" alt="Windows badge" width="200" /> |
| 145 | + <a href="https://github.com/hmziqrs/flutter-ui-designs/releases/latest/download/windows-release.zip"> |
| 146 | + <img src="https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/master/.github/assets/windows.png" alt="Windows badge" width="200" /> |
16 | 147 | </a>
|
17 |
| - <a href="https://github.com/hackerhgl/flutter-ui-designs/releases/latest/download/macos-release.zip"> |
18 |
| - <img src="https://raw.githubusercontent.com/hackerhgl/flutter-ui-designs/master/.github/assets/macos.png" alt="MacOS badge" width="200" /> |
| 148 | + <a href="https://github.com/hmziqrs/flutter-ui-designs/releases/latest/download/macos-release.zip"> |
| 149 | + <img src="https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/master/.github/assets/macos.png" alt="MacOS badge" width="200" /> |
19 | 150 | </a>
|
20 |
| - <a href="https://github.com/hackerhgl/flutter-ui-designs/releases/latest/download/linux-release.zip"> |
21 |
| - <img src="https://raw.githubusercontent.com/hackerhgl/flutter-ui-designs/master/.github/assets/linux.png" alt="Linux badge" width="200"/> |
| 151 | + <a href="https://github.com/hmziqrs/flutter-ui-designs/releases/latest/download/linux-release.zip"> |
| 152 | + <img src="https://raw.githubusercontent.com/hmziqrs/flutter-ui-designs/master/.github/assets/linux.png" alt="Linux badge" width="200"/> |
22 | 153 | </a>
|
23 | 154 | </div>
|
24 | 155 |
|
25 |
| -## Requirements to run locally |
26 |
| - |
27 |
| -- Flutter stable v2.0.0+ |
28 |
| -- Dart VM version: 2.12.0+ |
29 |
| -- To enable desktop & web builds run the relevant command |
30 |
| - - Run `flutter --enable-web` |
31 |
| - - Run `flutter --enable-macos-desktop` |
32 |
| - - Run `flutter --enable-linux-desktop` |
33 |
| - - Run `flutter --enable-windows-desktop` |
34 |
| -- Run `flutter doctor` this command will show you what dependencies you need to install. |
35 |
| - |
36 |
| -## Getting started with code |
37 |
| - |
38 |
| -> Please note that this project's code is not meant for beginners! If you're just getting started with flutter I recommend you to explore some ToDo and basic setState apps and get yourself familiar with flutter and dart eco-system because in this project intermediate and advance implementations are use which will confuse you and won't help much in terms of learning. |
39 |
| -
|
40 |
| -- There are 2 entry files for this project `main.dart` & `main.mobile.dart`. It was necessary because I'm using Firebase analytics and crashlytics and there isn't desktop support for Firebase yet. |
41 |
| -- `Navigator.dart` is responsible for managing routes, handles custom transition, pass parameter in screens and control navigation with keyboard shortcuts. |
42 |
| -- `configs/AppDimensions.dart` this is the magical file. It provides the app with: |
43 |
| -- `UI.dart` provides constant for building responsive UI. |
44 |
| - - My custom size unit based on device's width, height & pixel density. |
45 |
| - - Responsive containers. |
46 |
| - - Padding multiplier unit (I learned it with experience instead of using 1,2,3px should use multiplier. it helps maintain constancy around the app). |
47 |
| -- `Widgets/Screen.dart` This widget is necessary when building a new screen. |
48 |
| - - configure theme & font style. |
49 |
| - - It also receive a `belowBuilders` parameter which builds custom background (This enables us to build Parallax, Animated background & Any thing you could imagine in background). you can find an example in `Screens/Download/Download.dart` |
50 |
| -- Code structure is pretty much simple. |
51 |
| - - Don't import anything form ScreenA in ScreenB. |
52 |
| - - Don't import anything from Screen/Widget in universal files. |
53 |
| - - Don't import anything from ScreenA specific Widget in universal files. |
54 |
| - - Each Screen will have `Dimensions.dart` where you can write Screen's responsive logic. |
55 |
| - - I didn't use snake_case in naming convention just because I don't prefer it. |
56 |
| - - I use `this` for class's properties & methods I helps keep track of variables & class properties. |
57 |
| - |
58 |
| -## Scripts |
59 |
| - |
60 |
| -- `vslaunch.dart` |
61 |
| - - `dart sciprts/vslaunch.dart` |
62 |
| - - This script will make vscode configuration file with all of your connected devices. |
63 |
| - - You can live debug app on multiple devices at once from vs code. |
64 |
| - - Each device's debug logs on separate **DEBUG CONSOLE**. |
65 |
| - - Very useful for testing UI for multiple devices simultaneously. |
66 |
| - |
67 |
| -## Show support |
68 |
| - |
69 |
| -> **If you like the project and want to appreciate my effort. Then you can perform any of these steps** |
70 |
| -
|
71 |
| -- Star this repository. |
72 |
| -- Rate the app on <a href="https://play.google.com/store/apps/details?id=com.onemdev.flutter_ui_challenges" target="playstore">Play Store</a>. |
73 |
| -- Endorse my skills on my <a href="https://www.linkedin.com/in/hackerhgl" target="linkedin">Linkedin Profile</a>. |
74 |
| - |
75 |
| -## License |
76 |
| - |
77 |
| -This project is licensed under the MIT license, Copyright (c) 2020 Hamza Iqbal. For more information see `LICENSE.md`. |
| 156 | +## 📄 License |
| 157 | + |
| 158 | +This project is licensed under the MIT License. See [LICENSE](LICENSE) for details. |
| 159 | + |
| 160 | +## 🙏 Acknowledgments |
| 161 | + |
| 162 | +- 🎨 UI designs are property of their respective designers |
| 163 | +- 👥 Contributors and maintainers |
| 164 | +- 💙 Flutter and Dart teams |
| 165 | + |
| 166 | +## 🐛 Found a bug? |
| 167 | + |
| 168 | +Please file an issue with a detailed description on the [GitHub repository](https://github.com/hmziqrs/flutter-ui-designs/issues). |
| 169 | + |
| 170 | +## ⭐ Show Your Support |
| 171 | + |
| 172 | +If you found this project helpful or learned something from it, consider: |
| 173 | + |
| 174 | +- Starring the repository |
| 175 | +- Sharing it with others |
| 176 | +- Following the contributors |
| 177 | + |
| 178 | +## 🌟 More Open Source Projects |
| 179 | + |
| 180 | +- [Movie Concept App](https://github.com/hmziqrs/invmovieconcept1) - An innovative movie browsing experience built with Flutter |
| 181 | +- [React Native Loop Game](https://github.com/hmziqrs/react-native-loop-game) - An engaging mobile game created with React Native |
| 182 | +- [CV Template](https://github.com/hmziqrs/cv) - A modern, customizable CV/resume template |
| 183 | + |
| 184 | +## 🔗 Connect With Me |
| 185 | + |
| 186 | +### Social Links |
| 187 | + |
| 188 | +- 𝕏 (Twitter): [@hmziqrs](https://x.com/hmziqrs) |
| 189 | +- LinkedIn: [hackerhgl](https://www.linkedin.com/in/hackerhgl) |
| 190 | +- Telegram: [@hmziqrs](https://t.me/hmziqrs) |
| 191 | + |
| 192 | +### Personal Website |
| 193 | + |
| 194 | +🌐 Visit my personal site [hmziq.rs](https://hmziq.rs/) |
0 commit comments