|
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