$ show tobe-fe-dalao/fast-vue3
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.
The LLM identified 5 files worth highlighting for reuse:
A comprehensive, self-contained in-memory mock API factory that implements full CRUD for all entities (users, roles, menus, articles, blog posts, logs, etc.) using structuredClone, paginate, filterKeyword, and record management helpers. It satisfies the same Api interface as the real backend, enabling client-side previews without a server. This pattern is highly reusable for any frontend project needing a zero-dependency mock layer that can be swapped with a real API.
A clean Axios wrapper that handles base URL configuration, request/response interceptors for JWT token injection and refresh, and automatic unwrapping of the standard response envelope ({ code, message, data }). It provides a typed client factory that can be instantiated per app with different base URLs. The pattern is reusable across any Vue project requiring authenticated HTTP communication.
A Vue composable that manages user preferences (theme mode, locale, sidebar state, etc.) with reactive state, persistence via localStorage, and DOM side effects (e.g., toggling dark class on document root). It demonstrates a clean separation of concerns between state, persistence, and UI effects, and can be extracted for any app needing persistent user settings.
A shared Vite configuration factory for all applications in the monorepo. It sets up proxy, CSS handling, build optimization (chunk splitting, manual chunks), and integrates plugins like unplugin-auto-import, unplugin-vue-components, and inject-app-loading. This pattern centralizes build logic and reduces duplication across 14 apps, making it a reusable template for any multi-app Vite monorepo.
An interactive CLI that scaffolds new application skeletons (admin or site mode) with a chosen UI framework. It generates main.ts, App.vue, router, layout, and per-mode views using reusable template functions. This tool demonstrates a practical approach to code generation in a monorepo and can be adapted to scaffold other project types.