This repository contains a full-stack application for AI-powered short drama generation. The system enables users to create drama projects, extract characters and scenes from text using AI models, generate consistent character and scene images, create storyboards, and produce final videos. It manages the entire lifecycle from text input to multimedia output, with real-time task tracking and asset management. The backend is built with Spring Boot (Java 17) and follows a layered architecture with controllers, services, decorators (for Redis caching), facades (for asynchronous persistence), and mappers (using MyBatis-Plus). The frontend is a Vue 3 + Vite application using the Composition API for state management and communicating with the backend via REST APIs and WebSocket for real-time updates. The system integrates multiple technologies: MySQL for primary data storage, Redis for caching, RabbitMQ for asynchronous task processing, MinIO for object storage, Elasticsearch for full-text search, and Qdrant for vector-based context retrieval in storyboard generation. Key architectural patterns include the Strategy pattern for swapping AI model providers, the Decorator pattern for adding cross-cutting concerns like caching, and the Facade pattern for decoupling asynchronous operations. Reusable components include utility classes for Redis, MinIO, and Qdrant operations, as well as Vue 3 composables for global loading state and model configuration. The application demonstrates strong engineering practices in handling complex AI workflows while maintaining modularity and extensibility.
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.
IT-Tools is a single-page application (Vue 3 + TypeScript + Vite) that provides a curated collection of over 80 client-side developer utilities. These utilities include hashing, encoding, formatting, conversion (JSON, YAML, TOML, XML, etc.), crypto (JWT, RSA, bcrypt), network tools (IP subnet calculator, MAC address lookup), text manipulation, and many others. All processing occurs entirely in the browser; there is no backend. The app is a monolith with lazy-loaded per-tool routes, using a custom UI component library (c-*) alongside Naive UI, Pinia for state, vue-i18n for translations, and VueUse composables. It is containerized (Docker) and can be self-hosted or used via the hosted version on Vercel/Netlify. The repository demonstrates a strong convention for tool definition, testing, and internationalization, though tool quality varies. It is not a data research or analytics project.
Prompt Optimizer is a multi-platform AI prompt optimization tool that helps users craft better prompts for large language models (LLMs) and image generation models. The system supports web (Vue 3 + Naive UI), desktop (Electron), Chrome extension, MCP server, and Docker deployment via a pnpm monorepo. Core workflows include system/user prompt optimization, evaluation with structured compare (pair-judge, synthesis), image generation (text2image, image2image, multi-image), variable extraction/value generation, a template system with 40+ built-in bilingual (zh/en) templates, and smart favorites with resource-aware asset management. The architecture cleanly separates framework-agnostic core services (LLM adapters, evaluation, storage, template processing) from UI composables and Electron proxies, using adapter, registry, and factory patterns extensively. A notable strength is the comprehensive test infrastructure spanning unit (Vitest), integration (real LLM API helpers gated by environment flags), and E2E (Playwright with VCR record/replay). Weaknesses include significant template duplication (bilingual files maintained separately), IPC fragility between Electron main/renderer, provider adapter maintenance overhead (16+ text adapters, 6+ image adapters), and some dead/deprecated code paths carrying legacy migration layers.
vue-cropper is a Vue.js image cropping component supporting both Vue 2 and Vue 3. It provides an interactive cropping UI with features such as mouse/touch drag, zoom, rotation, EXIF-orientation correction, and multiple output formats (base64/blob). The component is self-contained within a single Vue file and relies on a minimal helper library for EXIF data parsing. It is distributed as a UMD/ES library and can be used via npm or CDN. The architecture is monolithic, with the cropping logic, coordinate calculations, and canvas rendering all encapsulated within the component, exposing a rich set of props, methods, and events for integration.
NovelForge is an AI-assisted long-form novel writing desktop application built with Electron, Vue 3, and FastAPI. It provides a card-based content management system where each story element (characters, scenes, chapters, items, concepts) is stored as typed cards with JSON Schema validation. The core differentiator is a custom workflow engine that uses a code-style DSL with marker comments (`#@node`) to define automation flows, supporting triggers, async execution, pause/resume, and streaming SSE progress. AI integration is deep: configurable LLM providers (OpenAI, Google, Anthropic, Qwen), structured generation via instruction streams (LLM outputs JSON instructions that the frontend executes incrementally), memory extraction from text into cards and a knowledge graph (dual backend: SQLModel or Neo4j), and a context assembly system with a rich template language. The frontend features a dynamic form renderer from JSON Schema, an inspiration assistant with tool-calling agents, a workflow agent that can autonomously edit workflow code via patches, and a chapter editor with AI continuation, polish, and review. The system is designed for professional novelists and supports full project lifecycles from tags and outlines to chapter drafts and quality reviews. The architecture is a typical two-tier application: the backend exposes RESTful APIs and SSE streams; the frontend is a single-page Vue 3 app bundled as an Electron desktop application (with web compatibility via mock). Notable engineering strengths include the workflow node registration pattern, the expression evaluator with safe eval, the memory extractor registry, and the dynamic form systemβall of which are cleanly abstracted and potentially reusable across projects. The codebase is actively maintained, with regular commits, well-organized modules, and comprehensive bootstrap initialization for built-in prompts and card types. However, some features are experimental (workflow agent auto-patching), the custom DSL is format-sensitive, and the heavy reliance on LangChain may introduce version lock-in.
KLDNS is a production-grade, multi-tenant subdomain distribution and DNS management SaaS platform. Users register subdomains under administrator-managed parent domains, pay with an internal points economy, and create/manage DNS records that are synchronously written to external DNS providers. The backend is a layered Go application (Gin HTTP handlers β services β SQLite repositories via GORM plus raw SQL) with an embedded migration system, and the frontend is a Vue 3 + TypeScript + Element Plus SPA that gets compiled and embedded into the Go binary at release time. This is purely an application repo β no data research, pipelines, or analytics artifacts are present. The core workflows are: subdomain registration with points deduction and a pending-review approval workflow (with refunds on rejection), DNS record CRUD that writes remote provider APIs first and the local database second (with compensation deletes and a dns_write_jobs queue for failed remote operations), session/API-token authentication with hashed secrets, Cloudflare Turnstile captcha verification, and a full admin backend for users, groups, domains, provider credential configs, settings, and audit logs. DNS provider integrations use a factory-registered interface with adapters for Cloudflare, DNSPod, Aliyun, AWS Route53, Google Cloud DNS, Huawei, Baidu, and others β several implementing non-trivial signing schemes (AWS SigV4, Google JWT/OAuth2, Huawei SDK-HMAC-SHA256, Baidu BCE). Testing is a notable strength: services, repositories, utilities, and most provider adapters have unit tests using httptest servers, fake repositories, and fixed-time fixtures. The main weaknesses are internal consistency issues rather than broken functionality: duplicated domain/subdomain join SQL across repositories, a documented repository refactoring in progress, hardcoded magic values (admin group 99, default group 100), two different pagination strategies between admin (server-side) and user (client-side) frontend views, Chinese-language UI and error messages not abstracted behind localization, and a hardcoded default app secret that must be changed in production. The multi-provider DNS abstraction, crypto/validation utilities, and the embedded migration runner are genuinely reusable in other Go projects.
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.
Vitesse is an opinionated Vue 3 + Vite starter template created by Anthony Fu. It provides a pre-configured development environment with file-based routing, auto-importing of components and APIs, state management via Pinia, internationalization (i18n) with lazy-loaded locale files, PWA support, Markdown-as-Vue-components, and utility-first CSS via UnoCSS. The template uses static site generation (SSG) via vite-ssg and includes critical CSS extraction. It is designed to accelerate the setup of modern Vue applications by integrating a curated set of plugins and tools. The codebase is well-structured, with clear separation of concerns: pages, layouts, composables, stores, and modules. The i18n module demonstrates a reusable pattern for lazy-loading translations using Vite's glob imports. While the template is primarily a collection of configurations and boilerplate, it exhibits high craftsmanship in its integration choices and adherence to Vue 3 best practices.
PPTist is a full-featured web-based slide editor and presentation application, built with Vue 3, TypeScript, and Pinia. It replicates core PowerPoint functionality entirely in the browser, supporting text, image, shape, line, chart, table, video, audio, and LaTeX elements. Users can create, edit, animate, and present slides, with import/export support for PPTX, PDF, images, and a custom .pptist format. An AI-assisted slide generation feature allows users to input a topic and receive a complete slide deck via an external API, with template-based layout and image selection. The architecture is a single-page application with a custom canvas rendering system, rich text editing via ProseMirror, and state management through Pinia stores. The editor is divided into three main modes: Editor (full editing with thumbnails, toolbar, and canvas), Screen (presentation with speaker notes, audience view, writing board, and laser pointer), and Mobile (basic editing and preview for touch devices). Data persistence uses IndexedDB via Dexie for undo/redo snapshots, and slide data is stored as JSON in Pinia stores. External dependencies include ECharts for charts, pptxgenjs for PPTX export, and a backend server for AI generation and image search. Key entry points include src/App.vue (top-level routing), src/views/Editor/index.vue (main editor), src/views/Screen/index.vue (presentation mode), and src/views/Mobile/index.vue (mobile mode). Data flows center on the slide store: user actions trigger mutations captured as snapshots for undo/redo, export processes convert internal JSON to target formats, and import parses external files into the internal schema. The AI PPT flow sends a user prompt to the backend, receives an outline and slide data, then fills template slides with content and images. The application is actively maintained with a large community (9386 stars, 1770 forks) and is licensed under AGPL-3.0. It relies on an external backend for AI features and image search, meaning those features are not self-contained. The codebase is well-structured but lacks automated tests, and some components (e.g., HTML parser, shape library) are self-contained and potentially reusable in other projects.
HotGo is a full-stack rapid application development framework built on GoFrame (Go) and Vue 3 (Naive UI). It provides an admin panel with RBAC, multi-tenancy, code generation, plugin/addon system, and integrations for payments (Alipay/WeChat/QQ), SMS, email, file storage (local/S3/MinIO/COS/OSS), message queues (Redis/Kafka/RocketMQ/disk), WebSocket real-time messaging, TCP server with RPC, and cron scheduling. The backend follows a modular service layer with generated DAO/entity patterns and custom ORM handlers for data filtering, tenant isolation, and sorting. The frontend is a dynamic SPA with built-in components for tables, forms, modals, uploads, and charts, plus i18n support. The codebase is production-ready but heavily relies on code generation and custom forks of GoFrame CLI tools, introducing some maintenance risk. Designed primarily for Chinese developers building enterprise admin systems.
Xen Orchestra is a comprehensive management platform for XenServer/XCP-ng virtualization environments. It provides a web UI (legacy React and modern Vue 3), a REST API, CLI tools, and a backup system. The architecture is a monorepo with multiple packages: server-side plugins (authentication, performance alerts, SDN controller, backups), frontend apps (xo-web React, @xen-orchestra/web Vue 3, @xen-orchestra/lite lightweight), and shared libraries (filesystem abstractions, VHD manipulation, cron parsing, audit logging, etc.). The backend communicates with XenServer hosts via the Xen API (XAPI), while the frontend connects via WebSocket/JSON-RPC or REST. Backup operations can be executed remotely via a proxy. Key data flows involve the web UI sending commands through WebSocket to the server, which translates them into XAPI calls. Backup jobs are scheduled via cron and executed by the backup runner system, streaming VM disks to remote storage. Audit events are logged with cryptographic chaining for tamper evidence. The system includes an MCP server for AI-assisted management. The repo demonstrates high engineering quality in many packages with clean abstractions for async operations, event-driven collections, and modular plugin systems, though it contains legacy components and some incomplete transitions to newer architectures.
undraw-ui is a Vue 3 UI component library built on top of Element Plus. It provides a set of custom components including Comment, Fold, Search, Chat, Editor, Table, Form, and CRUD interfaces. The repository is structured as a monolithic library with a Vite-based build system and TypeScript support. It includes a demo application for showcasing components and VitePress documentation. The codebase demonstrates a solid implementation of common UI patterns, with a focus on data-heavy components like comments and tables. While it lacks unit tests, the component structure is generally clean, utilizing Vue 3 Composition API and slots for customization.
Vue Cal is a full-featured Vue 3 calendar component library with zero external dependencies beyond Vue itself. It provides multiple views (day, week, month, year, years), event management (create, edit, delete, drag-and-drop, resize), schedules, special hours, extensive localization (50+ languages), dark/light theme via CSS variables, and comprehensive slot-based customization. The library is built entirely with the Composition API and is structured around core composables: `useVueCal` (main state), `useConfig` (prop parsing, locale loading), `useEvents` (event normalization, indexing, overlap detection), `useView` (navigation, cell generation), and `useDragAndDrop` (native HTML5 DnD with cross-instance support). The primary entry point is `src/vue-cal/index.js`, which exports the `VueCal` component, `useLocale` function, and a set of optional Date prototype extensions. Events are passed as an array of objects and reactively rendered; all interactions emit Vue events enriched with context (cell info, cursor position). The library is in active pre-release (v5.0.1-rc.46) with a stable release pending timezone support.
DataEase is a self-hosted, open-source business intelligence (BI) platform that enables users to connect to diverse data sources, build datasets, create interactive charts and dashboards, and share insights via links or embedded widgets. The codebase is a full-stack monolith with a Java Spring Boot backend (JPA, Calcite SQL parser, Quartz scheduling) and a Vue 3 frontend (AntV G2/G2Plot/L7 for charts, UniverJS for spreadsheets). It supports a wide range of database connectors (MySQL, PostgreSQL, Oracle, ClickHouse, StarRocks, Elasticsearch, MongoDB, etc.), dataset types (SQL, union, custom fields), chart types (bar, line, pie, map, table, indicator, etc.), and enterprise features like row/column-level permissions, scheduled sync, report delivery, and multi-factor authentication. The architecture includes an SDK layer for extensions (datasource providers, sync providers, chart plugins) and a separate Xpack module for commercial features. The platform is deployed via Docker Compose with APISIX gateway. The codebase is actively maintained (24k+ stars, recent commits) but exhibits some technical drift due to deep inheritance hierarchies in chart handlers, code duplication across engine providers, and tight coupling to specific library versions (AntV G2, UniverJS). Overall, it is a solid, production-grade BI tool with good separation of concerns but with room for refactoring in certain areas.
Kanri is an offline-first Kanban board desktop application built with Tauri (Rust backend) and Nuxt (Vue 3 frontend). It manages boards, columns, and cards with rich features including drag-and-drop, tags, due dates, subtasks, rich text descriptions, custom backgrounds, and multiple themes (dark, light, Catppuccin, custom). Data is persisted locally via Tauri's plugin-store as a single JSON file, with no cloud dependency. The application supports importing from Trello, KanbanElectron, GitHub Projects, and Kanri's own format, as well as full/partial export. It includes a sidebar for pinned boards, keyboard shortcuts, zoom adjustments, and a comprehensive settings page. The architecture is a monolith: the frontend runs in a WebView, communicating with the Rust backend via Tauri commands for file system access, dialogs, window state, and autostart. State management uses Pinia stores with debounced auto-save. The project is in maintenance mode, accepting only small fixes and no AI-generated contributions.
This is a large Vue 3 monorepo (pnpm workspaces + Turborepo) that provides 14 fully functional applications: 7 admin panels (web-*) and 7 public-facing marketing sites (site-*), each built with a different UI framework (Ant Design Vue, Arco Design, Element Plus, iDux, Naive UI, PrimeVue, TDesign). The project demonstrates how to build identical feature sets across multiple UI ecosystems while sharing common business logic, API clients, state management, and build tooling. It includes a Nitro-based mock backend server (apps/backend-mock) for development and a client-side static mock (packages/effects/api/src/static-mock.ts) for GitHub Pages previews. The architecture is modular: shared packages under packages/ (api, request, stores, preferences, styles, types, utils, locales, constants) are consumed by all apps, while internal packages (vite-config, lint-configs, node-utils) provide centralized tooling. Key entry points include each app's main.ts, layout component, and router. Data flows through an Axios-based HTTP client (packages/effects/request) with token injection, Pinia stores for user and app state, and a preferences composable for theme/locale management. External dependencies include Vue 3, Vite 8, TypeScript 6, Tailwind CSS v4, Pinia, Axios, ECharts, and the seven UI libraries. The monorepo is designed as a showcase and boilerplate for enterprise front-end architecture, not a specific product.
ColorTxt (彩读) is a cross-platform desktop ebook reader built with Electron, Vue 3, and Monaco Editor. It focuses on reading local text/ebook files (TXT, EPUB, PDF, MOBI, FB2, CHM) with an extensive feature set: AI-powered reading assistant (chat, RAG, mindmap, wordcloud, character card generation), multi-engine text-to-speech (Edge, MiniMax, DashScope, MiMo, Volcengine, Windows SAPI), dictionary lookup supporting multiple formats (StarDict, MDict, Babylon, DICT), a book source engine fully compatible with Legado (ι θ―») for searching and downloading web novels, WebDAV sync for cross-device backup, and deep customization of reading appearance (themes, fonts, line spacing, backgrounds, reading ruler, pomodoro timer). The architecture follows a standard Electron pattern: a main process handles I/O, AI, TTS, networking, and IPC, while separate renderer processes (main reader, find-book, stealth reader) are Vue 3 SPAs communicating via typed IPC through a preload bridge. The codebase is large and feature-rich, demonstrating solid engineering practices (composable patterns, shared type libraries, clean IPC design) but also carries maintenance complexity from the Legado compatibility layer, numerous third-party API integrations, and platform-specific hacks for stealth mode and native modules.
Vaul Vue is a Vue 3 component library that provides a drawer (slide-in panel) component built on top of Reka UI's Dialog primitive. It is a port of the React Vaul library to Vue, offering features such as drag-to-dismiss, snap points, directional control, and background scaling effects. The library is structured with a clear separation of concerns, utilizing Vue's Composition API for logic and providing a set of reusable utility functions for DOM manipulation and browser detection. Although the project is marked as no longer maintained in the README, the codebase demonstrates strong engineering practices and contains several genuinely reusable components.
This repository is a production-grade cross-platform mobile application scaffold built on uni-app x, Vue 3, and TypeScript. It provides a comprehensive UI component library (cool-ui) with over 50 components covering forms, layout, data display, feedback, navigation, and utilities, all designed for reuse across Web, Android, iOS, and mini-programs. The project includes a full demo app showcasing each component, template pages for e-commerce (shop, cart, address, product detail) and social features (posts, chat, user profile), as well as a settings and i18n system with 7 languages. Core architectural patterns include a reactive service layer with token-refresh support, a custom router with auth guards, a theme system (light/dark), a PassThrough prop pattern for deep component customization, and a plugin system for touch, locale, and device features. The code is well-structured with typed props, hooks, and clear separation of concerns, though it relies on a beta plugin (`@cool-vue/unix`) and extensive platform-specific conditionals (#ifdef) that may introduce future maintenance drift. The repository is primarily an application scaffold, not a data research project. It contains no notebooks, data pipelines, or ML components. Its value lies in being a ready-to-use starter for building multi-platform apps with a rich UI library and common business modules. While not groundbreaking, the code demonstrates solid engineering practices, good modularity, and attention to developer experience (auto-imports, TailwindCSS integration, AI-assisted translation scripts). The library's components are individually reusable and can be extracted with minimal effort, making it a practical resource for app developers targeting the uni-app ecosystem.