Skip to content

Latest commit

 

History

History
146 lines (110 loc) · 5.5 KB

File metadata and controls

146 lines (110 loc) · 5.5 KB
HarmonyKit Logo

HarmonyKit

An out-of-the-box HarmonyOS rapid development framework

GitHub Gitee Docs Ask DeepWiki

📖 Project Overview

HarmonyKit is a rapid development framework built on HarmonyOS NEXT / ArkTS / ArkUI. It ships with the most common app capabilities (networking, paging, database, local storage, state management, navigation, etc.) and provides clean module structure plus demo pages so you can clone → run → build quickly.

If this project helps you, please give it a Star ⭐ It means a lot and keeps the project moving forward!

📱 Project Preview

Mobile

Foldable

Tablet

📍 Project Links

This framework comes from the real-world CoolMall (HarmonyOS) practice. It keeps only the generic capabilities and demos. For the full e-commerce project, see: GitHub: https://github.com/Joker-x-dev/CoolMallArkTS Gitee: https://gitee.com/Joker-x-dev/CoolMallArkTS

📚 Documentation

  • Docs: View online
    • Kept in sync with the code, covering quick start, architecture, sample routes, and common customization points
  • IBest-UI-V2: View online
    • Component usage and parameters with common examples
  • IBest-ORM: View online
    • Local database usage and entity definitions with basic examples

🧩 Built-in Capabilities

  • Base Networking: unified request + loading/error/empty handling
  • Paged List: paging logic with refresh/load more/empty states
  • Navigation: args passing, result returning, route interception demos
  • Database: IBest-ORM CRUD demos
  • Local Storage: lightweight account storage demo
  • State Management: V2 (ObservedV2 / AppStorageV2 / PersistenceV2) demos
  • Screen Adaptation: breakpoint + safe-area demos
  • Design System: unified spacing/colors/fonts and shared components

🛠️ Tech Stack

Category Technology Description
Language ArkTS HarmonyOS NEXT primary language
UI Framework ArkUI Declarative UI framework
Architecture MVVM View + ViewModel separation
Navigation Navigation Route & navigation management
State V2 ObservedV2 / AppStorageV2
UI Library IBest-UI-V2 Business UI components
Network Axios HTTP client & interceptors
Database IBest-ORM Local database

📱 Feature Module Directory

  • Main Module (main)

    • Core demo (core)
    • Navigation demo (navigation)
    • Expand demo (expand)
    • About page (about)
  • Auth Module (auth)

    • Login page (login)
  • User Module (user)

    • User profile (profile)
  • Demo Module (demo)

    • Base network demo (network-demo)
    • Paged list demo (network-list-demo)
    • Database demo (database)
    • Local storage demo (local-storage)
    • State management demo (state-management)
    • Network request demo (network-request)
    • Navigation with args (navigation-with-args)
    • Result passing demo (navigation-result)
    • Safe-area demo (safe-area)
    • Screen adaptation demo (screen-adapt)

📁 Project Structure

AppScope/               # App configuration
entry/                  # App entry module
core/                   # Core modules
│   ├── base/           # Base classes
│   ├── data/           # Data layer
│   ├── database/       # Database
│   ├── datastore/      # Local storage
│   ├── designsystem/   # Design system
│   ├── ibestui/        # IBest UI components
│   ├── model/          # Data models
│   ├── navigation/     # Navigation
│   ├── network/        # Network layer
│   ├── result/         # Result handling
│   ├── state/          # Global state
│   ├── ui/             # UI components
│   └── util/           # Utilities
feature/                # Feature modules
│   ├── auth/           # Auth module
│   ├── demo/           # Demo module
│   ├── main/           # Main module
│   └── user/           # User module

🚀 Quick Start

  1. Open the project in DevEco Studio and sync dependencies.
  2. Run the entry module to experience the demos.
  3. Follow the feature modules to start building your own business logic.

👥 Join the Community

Welcome to the developer group—share learning notes and discuss technical questions together!

QQ group QR code

Scan or search the group number to join the QQ group

🤝 Contributing

PRs and Issues are welcome. Let’s make HarmonyOS development faster and better together.