|
1 |
| -# 📊✨ ht_dashboard |
2 |
| - |
3 |
| - |
4 |
| -[](https://headlines-toolkit.github.io/ht-dashboard/) |
5 |
| -[](https://pub.dev/packages/very_good_analysis) |
6 |
| -[](https://polyformproject.org/licenses/free-trial/1.0.0) |
7 |
| - |
8 |
| -`ht_dashboard` is a Flutter web application designed as a comprehensive content management and administration interface for the [Headlines Toolkit](https://github.com/headlines-toolkit) ecosystem. It provides a powerful, intuitive platform for managing news content, application configurations, and user-related settings, complementing the [ht_main mobile app](https://github.com/headlines-toolkit/ht-main) and the [ht_api backend service](https://github.com/headlines-toolkit/ht-api). |
9 |
| - |
10 |
| -## ⭐ Features & Capabilities |
11 |
| - |
12 |
| -`ht_dashboard` offers a robust set of tools for efficient administration: |
13 |
| - |
14 |
| -#### 📰 **Comprehensive Content Management** |
15 |
| -Effortlessly manage all aspects of your news content, including: |
16 |
| -* **Headlines:** Create, edit, and delete news articles. |
17 |
| -* **Categories:** Organize and define news categories. |
18 |
| -* **Sources:** Maintain and update news sources. |
19 |
| -* **Benefit for you:** Centralized control over your content, ensuring accuracy and consistency across your news platform. ✍️ |
20 |
| - |
21 |
| -#### ⚙️ **Dynamic Application Configuration** |
22 |
| -Control the behavior and appearance of the `ht_main` mobile application remotely: |
23 |
| -* **User Preference Limits:** Set limits for followed items and saved headlines |
24 |
| - based on user roles (Guest, Authenticated, Premium). |
25 |
| -* **Ad Settings:** Configure ad frequency and placement intervals for |
26 |
| - different user tiers. |
27 |
| -* **In-App Prompts:** Manage the display frequency of account-related |
28 |
| - calls-to-action. |
29 |
| -* **Operational Status (Kill Switch):** Remotely enable maintenance mode or |
30 |
| - disable the app. |
31 |
| -* **Force Update:** Mandate or suggest app updates to users. |
32 |
| -* **Benefit for you:** Granular control over app features and monetization |
33 |
| - strategies without requiring app store updates. 🚀 |
34 |
| - |
35 |
| -#### 📊 **Intuitive User Interface** |
36 |
| -Built with Flutter, the dashboard provides a responsive and user-friendly |
37 |
| -experience across various web browsers and screen sizes. |
38 |
| -* **Benefit for you:** A modern, maintainable, and visually appealing |
39 |
| - interface for your administrative tasks. ✨ |
40 |
| - |
41 |
| -#### 🏗️ **Clean & Modern Architecture** |
42 |
| -Developed with best practices for a maintainable and scalable codebase: |
43 |
| -* **Flutter & Dart:** Cutting-edge web development. |
44 |
| -* **BLoC Pattern:** Predictable and robust state management. |
45 |
| -* **GoRouter:** Well-structured and powerful navigation. |
46 |
| -* **Adaptive UI:** Responsive layouts using `flutter_adaptive_scaffold` for |
47 |
| - optimal experience on different screen sizes. |
48 |
| -* **Benefit for you:** An easy-to-understand, extendable, and testable |
49 |
| - foundation for your project. 📈 |
50 |
| - |
51 |
| -#### 🌍 **Localization Ready** |
52 |
| -Fully internationalized with working English and Arabic localizations (`.arb` files). |
53 |
| -* **Benefit for you:** Easily adapt your dashboard for a global team. 🌐 |
54 |
| - |
55 |
| ---- |
56 |
| - |
57 |
| -## 🔑 Access and Licensing |
58 |
| - |
59 |
| -`ht_dashboard` is source-available as part of the Headlines Toolkit ecosystem. |
60 |
| - |
61 |
| -To acquire a commercial license for building unlimited news applications, please visit |
62 |
| -the [Headlines Toolkit GitHub organization page](https://github.com/headlines-toolkit) |
63 |
| -for more details. |
64 |
| - |
65 |
| ---- |
66 |
| - |
67 |
| -## 🚀 Getting Started |
68 |
| - |
69 |
| -1. **Ensure Flutter is installed.** (See [Flutter documentation](https://flutter.dev/docs/get-started/install)) |
70 |
| -2. **Clone the repository:** |
71 |
| - ```bash |
72 |
| - git clone https://github.com/headlines-toolkit/ht-dashboard.git |
73 |
| - cd ht-dashboard |
74 |
| - ``` |
75 |
| -3. **Get dependencies:** |
76 |
| - ```bash |
77 |
| - flutter pub get |
78 |
| - ``` |
79 |
| -4. **Run the app for web:** |
80 |
| - ```bash |
81 |
| - flutter run -d chrome |
82 |
| - # Or to run on a web server (e.g., for CORS testing with ht_api) |
83 |
| - # flutter run -d web-server --web-hostname 0.0.0.0 --web-port 3000 |
84 |
| - ``` |
85 |
| - *(Note: For full functionality, ensure the `ht_api` backend service is running and accessible. If running `ht_api` locally, ensure its `CORS_ALLOWED_ORIGIN` environment variable is configured to allow requests from the dashboard's origin, e.g., `http://localhost:3000` if using the web-server option.)* |
86 |
| -
|
87 |
| ---- |
88 |
| -
|
89 |
| -## ✅ Testing |
90 |
| -
|
91 |
| -This project aims for high test coverage to ensure quality and reliability. |
92 |
| -
|
93 |
| -* Run tests with: |
94 |
| - ```bash |
95 |
| - flutter test |
96 |
| - ``` |
97 |
| - *(Note: Ensure `very_good_cli` is activated: `dart pub global activate very_good_cli`)* |
0 commit comments