This repository is the core codebase for uni-app-x, a next-generation cross-platform mobile development framework. Unlike the traditional WebView-based uni-app, this version utilizes UTS (Uni-app TypeScript) to compile directly to native code (Swift/Kotlin/ArkTS) for iOS, Android, and HarmonyOS, alongside Web and Mini-program support. The architecture is a monorepo structure with a plugin-based system (`uni_modules`) that allows modular distribution of native SDKs and cloud functions. It bridges JavaScript/TypeScript logic with native OS capabilities through a custom runtime engine and UTS compiler, enabling high-performance native rendering and hardware access. The system operates as a full-stack framework, including a CLI for project scaffolding, a compiler pipeline (Vite/Webpack integration), and a serverless cloud backend (`uniCloud`) for authentication, payments, and data management. Key data flows involve client-side code compilation into platform-specific binaries, communication via a native bridge (JSBridge/UTS), and serverless function execution on cloud providers (Aliyun, Tencent, Alipay). The framework relies heavily on embedded native dependencies (Lottie, IJKPlayer, TencentLBS) and maintains a complex plugin ecosystem to abstract platform differences. While the codebase demonstrates high craftsmanship in native rendering engines and plugin architecture, it carries significant maintenance overhead due to platform fragmentation and the need to keep embedded native SDKs synchronized with OS updates. The UTS language and compiler are custom-built, introducing a layer of technical debt and drift risk as the ecosystem evolves. The project is actively maintained with frequent updates to SDKs and compiler stability, but the complexity of supporting multiple platforms simultaneously creates a medium level of technical drift.
This is a monorepo housing `create-uni`, a CLI scaffolding tool for quickly generating `uni-app` projects. `uni-app` is a cross-platform framework based on Vue, allowing development for iOS, Android, Web, and various mini-programs. The CLI supports interactive prompts (via `@clack/prompts`), command-line flags, a native desktop GUI (via a Rust `napi-rs` addon encapsulating `wry`), and an MCP (Model Context Protocol) server for AI-assisted project creation. The core package (`packages/core`) handles template rendering using EJS with a callback-driven data injection pattern, while `packages/config` provides the option catalogues. The GUI package combines a Rust webview with a Preact/TypeScript UI (built with shadcn/ui). The MCP package exposes two tools (`create-with-template`, `create-custom`) with Zod schemas auto-derived from config data. The project demonstrates strong architectural separation, modern tooling, and a novel integration of a native GUI into a Node.js CLI. Though tightly focused on the uni-app ecosystem, several internal patterns (template rendering, object merging, directory traversal, MCP server setup) are cleanly implemented and potentially reusable.
This repository is a full-stack, multi-client rental property management platform called 'rightHouse' (房适). It consists of three frontends: a Vue 3 + Arco Design admin panel (RH-admin), a uni-app landlord mobile app (RH-landlord), and a uni-app tenant mobile app (RH-tenant), all backed by an Egg.js Node.js REST API (RH-server) with MySQL, Redis, MinIO, and OSS storage. The system enables landlords to publish houses, tenants to search and apply for rentals, and administrators to manage users, houses, and lease applications. Key workflows include lease application with approval flow, maintenance requests, rental market listings with location-based search, and tenant reviews. The architecture is monolithic on the server side but with separate client applications sharing some UI components (uView UI) and a custom HTTP client (luch-request). The codebase is functional and covers the full rental lifecycle, but suffers from duplicated UI component libraries across mobile apps, mixed Vue 2/Vue 3 frameworks, hardcoded configuration values, and lack of automated tests. The admin panel uses modern Vue 3 tooling, while the mobile apps rely on the older uView 2.0 library. The server side includes JWT authentication, SMS notifications, and file upload capabilities. Overall, it is a solid but not exceptional implementation of a rental management system, useful as a reference for similar multi-tenant applications but with several areas of technical debt.