You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`ht_main` is a flutter mobile application that serves as both a powerful, fully functional news application ready for deployment, and an exceptionally robust starter kit, architected for easy extension and customization. It is a key component of the [Headlines Toolkit](https://github.com/headlines-toolkit), an ecosystem that also includes a [Dart Frog backend API](https://github.com/headlines-toolkit/ht-api) and a [web-based content dashboard](https://github.com/headlines-toolkit/ht-dashboard).
8
+
This is a complete and fully-functional Flutter news application. It gives you everything you need to launch your own news app on the App Store and Google Play, right out of the box. It is a key component of the [**Flutter News App - Full Source Code Toolkit**](https://github.com/flutter-news-app-full-source-code), an ecosystem that also includes a [Dart Frog backend API](https://github.com/flutter-news-app-full-source-code/flutter-news-app-api-server-full-source-code) and a [web-based content dashboard](https://github.com/flutter-news-app-full-source-code/flutter-news-app-web-dashboard-full-source-code).
9
9
10
-
## ⭐ Features & Benefits
10
+
## ⭐ Everything You Get, Ready to Go
11
11
12
-
`ht_main`comes packed with features to accelerate your development and delight your users:
12
+
This app comes packed with all the features you need to launch a professional news application.
13
13
14
14
#### 📰 **Dynamic & Engaging Headlines Feed**
15
-
Experience a beautifully crafted, infinitely scrolling news feed. It's highly performant and ready for your content.
16
-
***Benefit for you:** Save months of UI/UX development and complex state management. Get a production-quality feed system instantly! ⏱️
15
+
* Display news in a beautiful, performant, infinitely scrolling feed.
16
+
* Strategically display in-feed messages to drive user actions. Show calls-to-action like 'Create an Account' to anonymous users or 'Upgrade to Premium' to authenticated users, all based on configurable rules.
17
+
> **Your Advantage:** You get a production-quality feed system instantly. Skip the months of complex UI work and state management. ⏱️
17
18
18
19
#### 🔍 **Advanced Content Filtering & Search**
19
-
Empower users with intuitive filtering for headlines by categories, sources, and countries. A dedicated search page helps users find exactly what they're looking for.
20
-
***Benefit for you:** Offer powerful content discovery tools that significantly enhance user engagement and satisfaction. 🎯
20
+
* Let users filter headlines by categories, sources, and countries.
21
+
* Includes a dedicated search page to help users find specific content quickly.
22
+
> **Your Advantage:** Give your users powerful content discovery tools that keep them engaged and coming back for more. 🎯
21
23
22
24
#### 🔐 **Robust User Authentication**
23
25
Secure and flexible authentication flows are built-in:
24
26
* 📧 **Email + Code (Passwordless) Sign-In:** Modern and secure.
25
27
* 👤 **Anonymous Sign-In:** Allow users to explore before committing.
26
28
* 🔗 **Account Linking:** Seamlessly convert anonymous users to registered accounts, preserving all their personalized settings, content preferences, and saved headlines.
27
-
***Benefit for you:**Complex security and user management handled, including data migration during account linking, letting you focus on features. ✅
29
+
> **Your Advantage:**All the complex security and user management is already done for you, including data migration when users link their accounts. ✅
28
30
29
31
#### 🧑🎨 **Personalized User Accounts & Preferences**
30
32
Users can tailor their experience:
31
33
***Content Preferences:** Follow/unfollow categories, sources, and countries.
32
34
***Saved Headlines:** Bookmark articles for easy access later.
33
-
***Benefit for you:**A strong foundation for personalization, driving user retention and creating a sticky app experience. ❤️
35
+
> **Your Advantage:**Built-in personalization features that drive user retention and create a sticky app experience. ❤️
34
36
35
37
#### ⚙️ **Customizable App Settings**
36
38
Offer users control over their app experience:
37
39
***Appearance:** Light/Dark/System themes, accent colors (via FlexColorScheme), font choices, and text scaling.
38
40
***Feed Display:** Customize how headlines are presented.
39
-
***Benefit for you:**Provide a premium, adaptable user experience that caters to individual needs. 🔧
41
+
> **Your Advantage:**Deliver a premium, adaptable user experience that caters to individual needs without writing any code. 🔧
40
42
41
43
#### 📱 **Adaptive UI for All Screens**
42
-
Built with `flutter_adaptive_scaffold`, `ht_main` offers responsive navigation and layouts that look great on both phones and tablets.
43
-
***Benefit for you:** Deliver a consistent and optimized UX across a wide range of devices effortlessly. ↔️
44
+
Built with `flutter_adaptive_scaffold`, the app offers responsive navigation and layouts that look great on both phones and tablets.
45
+
> **Your Advantage:** Deliver a consistent and optimized UX across a wide range of devices effortlessly. ↔️
44
46
45
47
#### 🏗️ **Clean & Modern Architecture**
46
48
Developed with best practices for a maintainable and scalable codebase:
47
49
***Flutter & Dart:** Cutting-edge mobile development.
48
50
***BLoC Pattern:** Predictable and robust state management.
49
51
***GoRouter:** Well-structured and powerful navigation.
50
-
***Benefit for you:**An easy-to-understand, extendable, and testable foundation for your project. 📈
52
+
> **Your Advantage:**The app is built on a clean, modern architecture that's easy to understandand maintain. It's solid and built to last. 📈
51
53
52
54
#### ⚙️ **Flexible Environment Configuration**
53
55
Easily switch between development (in-memory data or local API) and production environments with a simple code change. This empowers rapid prototyping, robust testing, and seamless deployment.
54
-
***Benefit for you:**Accelerate your development cycle and ensure your app is always ready for any deployment scenario. 🚀
56
+
> **Your Advantage:**A flexible setup that speeds up your development cycle and makes deployment simple. 🚀
55
57
56
58
#### 🌍 **Localization Ready**
57
59
Fully internationalized with working English and Arabic localizations (`.arb` files). Adding more languages is straightforward.
58
-
***Benefit for you:** Easily adapt your application for a global audience. 🌐
60
+
> **Your Advantage:** Easily adapt your application for a global audience and tap into new markets. 🌐
59
61
60
62
---
61
63
62
-
## 🔑 Access and Licensing
64
+
## 🔑 Licensing
63
65
64
-
`ht-main` is source-available as part of the Headlines Toolkit ecosystem.
66
+
This app is source-available and licensed under the [PolyForm Free Trial 1.0.0](LICENSE). This lets you try out the full source code before you buy.
67
+
68
+
For a commercial license to build and distribute your app, please visit the main [**Flutter News App - Full Source Code Toolkit**](https://github.com/flutter-news-app-full-source-code) organization.
65
69
66
-
To acquire a commercial license for building unlimited news applications, please visit
67
-
the [Headlines Toolkit GitHub organization page](https://github.com/headlines-toolkit)
68
-
for more details.
69
70
70
71
---
71
72
72
-
## 🚀 Getting Started
73
+
## 🚀 Getting Started & Running Locally
73
74
74
75
1.**Ensure Flutter is installed.** (See [Flutter documentation](https://flutter.dev/docs/get-started/install))
*(Note: For full functionality, ensure the `ht-api` backend service is running and accessible.)*
86
+
87
+
### Running the App
88
+
89
+
To run the app, first selectyour desired environment in`lib/main.dart`:
90
+
91
+
```dart
92
+
// lib/main.dart
93
+
94
+
// Use `AppEnvironment.demo` to run with in-memory data (no API needed).
95
+
// Use `AppEnvironment.development` to connect to a local backend API.
96
+
const appEnvironment = AppEnvironment.demo;
97
+
```
98
+
99
+
Then, run the app from your terminal:
100
+
```bash
101
+
flutter run
102
+
```
103
+
*(Note: For `development` environment, ensure the [backend service](https://github.com/flutter-news-app-full-source-code/flutter-news-app-api-server-full-source-code) is running.)*
89
104
90
105
---
91
106
@@ -96,4 +111,3 @@ This project aims for high test coverage to ensure quality and reliability.
0 commit comments