# OverVue **Repository Path**: mirrors/OverVue ## Basic Information - **Project Name**: OverVue - **Description**: OverVue是一种原型设计工具,允许开发人员动态创建和可视化Vue应用程序,实现组件层次结构的实时直观树形显示和实时生成的代码预览 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/overvue - **GVP Project**: No ## Statistics - **Stars**: 79 - **Forks**: 32 - **Created**: 2019-07-30 - **Last Updated**: 2025-08-02 ## Categories & Tags **Categories**: develop-tools **Tags**: None ## README

Prototyping Development Tool for Vue Developers

OverVue is a prototyping tool that allows developers to dynamically create and visualize a Vue application, implementing a real-time intuitive tree display of component hierarchy and a live-generated code preview. The easy-to-use GUI allows you to add HTML attributes and CSS properties to help the developer envision their next project. The resulting boilerplate code can be exported as a template for further development in your IDE of choice.


这个程序能帮你生成Vue 组件, 设置 routes , 也可以帮你显像Component Parent-Child组件树。你只要做一些小配置然后可以下载code boilerplate. 这样你就可以很方便简洁地生成Vue前台APP了!



![Vue.js](https://img.shields.io/badge/vuejs-%2335495e.svg?style=for-the-badge&logo=vuedotjs&logoColor=%234FC08D) ![Pinia](https://img.shields.io/badge/Pinia-%23F8DC75.svg?style=for-the-badge) ![Jest](https://img.shields.io/badge/-jest-%23C21325?style=for-the-badge&logo=jest&logoColor=white) ![Vue Test Utils](https://img.shields.io/badge/Vue_Test_Utils-%23Clojure.svg?style=for-the-badge) ![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E) ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white) ![Vue Router](https://img.shields.io/badge/Vue_Router-6001D2?style=for-the-badge) ![Electron.js](https://img.shields.io/badge/Electron-191970?style=for-the-badge&logo=Electron&logoColor=white) ![Quasar](https://img.shields.io/badge/Quasar-16B7FB?style=for-the-badge&logo=quasar&logoColor=black) ![Prism.js](https://img.shields.io/badge/Prism.js-A81C7D?style=for-the-badge) ![SASS](https://img.shields.io/badge/SASS-hotpink.svg?style=for-the-badge&logo=SASS&logoColor=white) ![Babel](https://img.shields.io/badge/Babel-F9DC3e?style=for-the-badge&logo=babel&logoColor=black) ![Git](https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge&logo=git&logoColor=white) ![Vuetensils](https://img.shields.io/badge/Vuetensils-00897B?style=for-the-badge) ## Table of Contents - [Installation](#installation) - [How to use OverVue](#how-to-use-OverVue) - [Changelogs](#changelogs-(recent)) - [How to contribute](#contributing) - [Authors](#contributors) ## Installation To download the production version, please visit https://www.overvue.org
### Dev Installation In your terminal: 1. Install dependencies ``npm install`` 2. Build a new .zip / .deb: `` npm run build `` *(Note: the build may take some time, but should display 'build finished' once it is done and ready to be run)* 3. Run electron app in dev mode: ``npm run dev``
### Updated WSL Installation and Configuration Guide This section has been updated to reflect the latest advancements with the Windows Subsystem for Linux (WSL), especially focusing on the integration of Linux GUI applications directly within WSL without the need for third-party X server tools like X410 or VcXsrv.
Expand ## Running Linux GUI Applications in WSL With the launch of WSLg (Windows Subsystem for Linux GUI), the process of running Linux GUI applications on Windows has been greatly simplified. WSLg integrates directly with WSL 2, offering native support for Linux GUI applications without the necessity for additional display server configurations. ### Prerequisites - Windows 10 version 19044+ or Windows 11. - WSL 2 installed and set as the default version. Use `wsl --install` for new installations or `wsl --update` followed by `wsl --shutdown` to update and restart WSL. ### Configuring Linux GUI Applications WSLg automatically configures the necessary environment, eliminating the need to manually set display variables for GUI applications. Linux GUI apps can now be launched directly from the Start menu or via the command line, without additional setup. ### Legacy Setup Notes (Deprecated) The previous guidance for setting up X410 or VcXsrv for Linux GUI applications in WSL is now deprecated. While these tools are no longer necessary for the majority of GUI applications in WSL, they remain available for those with specific requirements outside the scope of WSLg's capabilities. ### Docker Integration For Docker containers that require GUI applications, ensure Docker Desktop for Windows is configured to use the WSL 2 backend. This integration with WSLg provides a seamless experience for running GUI-based containers. ### Additional Setup for Mac Users (Docker) Mac users running Linux containers or WSL in a virtualized environment should follow the XQuartz setup for X11 forwarding, applicable only to those operating outside direct WSL integration on Windows. 1. Install XQuartz: `brew install --cask xquartz` and restart. 2. In XQuartz Preferences > Security, enable "Allow connections from network clients." 3. Allow localhost connections: `xhost +localhost`. ### Common Issues and Solutions - **WSLg not functioning as expected?** Verify your Windows version and WSL 2 installation and updates. - **Linux GUI app won't launch?** Ensure all components are up to date and the application is compatible with WSLg. ### Resources - [WSLg Overview](https://aka.ms/wslg) - [Setting up Docker with WSL 2](https://docs.docker.com/desktop/windows/wsl/) This guide is designed to help streamline your development environment by utilizing the latest WSL features while minimizing complexity. For more information and detailed troubleshooting, refer to the [official WSL documentation](https://docs.microsoft.com/en-us/windows/wsl/).
## How to use OverVue OverVue kickstarts your project with a default root App component and a "HomeView" route. Here's a quick guide to navigating and utilizing OverVue to its fullest: 1. **Creating Components:** - Enter a name for your new component in the component name box. - Select any HTML elements to include within your component. These can be added or nested within each other by dragging and dropping elements in the tree view on the right sidebar or within the component modal (accessible by double-clicking a component node). 2. **Organizing Components:** - Assign a parent component during or after creation to establish your desired hierarchy. - Modify your component's structure and relationships anytime by dragging nodes in the tree view. Double-click an HTML element for advanced styling options, including adding attributes like `class`, `ID`, and `v-model`. This streamlined approach helps you focus on building and visualizing your Vue.js application's component structure efficiently, with intuitive drag-and-drop functionality and easy access to advanced configuration options. ![CreateComponents](./src/assets/readme/CreateComponents.gif) 3. **Managing State and Actions:** - Get a live preview of your component's code in the Component Details > Code Preview Tab. - Handle routes and associated components using the Routes Tab. - Create, edit, and assign state and actions to your components. ![AddStateActions](./src/assets/readme/AddStateActions.gif) - When finished creating, view your code preview under the code preview tab and you can export to a file location of your choice. Below is the exported file structure ('*' = only in typescript format, '**' = only in test format: ``` public/ src/ assets/ components/ (YourNewComponent1.vue) (YourNewComponent2.vue) ... router/ index.js/ts store/ index.js/ts views/ HomeView.vue (YourNewRoute1.vue) (YourNewRoute2.vue) ... App.vue main.js/ts tests/ units** .eslintrc.cjs env.d.ts* babel.config.js/ts jest.config.js/ts** index.html package.json vite.config.js/ts ``` - To get a better look at the features and how to use OverVue, take a look at the in-app tutorial!
[↥ Back to top](#table-of-contents) ## Changelogs (recent)
OverVue 11.0
OverVue 10.0
OverVue 9.0
### Changelogs 8.0 and older
OverVue 8.0
OverVue 7.0
OverVue 6.0
OverVue 5.0
OverVue 4.0
OverVue 3.0
OverVue 2.0
[↥Back to top](#table-of-contents) ## How to contribute
Expand
We'd love for you to test out the application and submit any issues you encounter. Also feel free to fork to your own repo and submit PRs.

Here are some features we're thinking about adding:

- Ability to add two-way binding to input elements - Add E2E testing suite like Cypress - Containerized the app to further support multi-platform distribution OR - Adjust application to either a web app or an plugin extension on VSCode/Figma.

Smaller desired changes

- Patch save functionality to save state - Highlight active HTML element when selected/updating - HTML elements removal to re-render and update state count of elements used in components tree - HTML elements list occasionally does not render properly after component is dragged - Continue updating and rebalancing dependencies

Known Bugs

  • Slack OAuth not working (currently disabled)
  • Canvas tree can only be moved with arrow keys
  • Not necessarily a bug, but certain peer dependencies are not updated by their maintainers (ie tesing vue with jest). To update to a new dependency, this requires ample amount of time that we unfortunately did not have
  • There may be more bugs that we did not find. If so please mention this in the 'Issues' tab


  • [↥Back to top](#table-of-contents) ## Contributors | OverVue 11.0 | LinkedIn | GitHub | |------|----------|--------| | Anthony Herrera | [LinkedIn](https://www.linkedin.com/in/anthony-herrera-686ba0183/) | [@anthonyHerr](https://github.com/anthonyHerr) | | Daniel Garan | [LinkedIn](https://www.linkedin.com/in/daniel-garan/) | [@DanielGaran02](https://github.com/DanielGaran02) | | Kevin Can | [LinkedIn](https://www.linkedin.com/in/kevincan/) | [@Kelementz916](https://github.com/Kelementz916) | | Robery Sinizieri | [LinkedIn](https://www.linkedin.com/in/rob-sinzieri/) | [@robsinz](https://github.com/robsinz) | | Roderick de Leon | [LinkedIn](https://www.linkedin.com/in/roderickdeleon/) | [@RoderickXii](https://github.com/RoderickXii) |
    | OverVue 10.0 | LinkedIn |GitHub | |------|-------|------| | David Lee | [LinkedIn](https://www.linkedin.com/in/davidetlee/) | [@GomDave](https://github.com/GomDave)| | Trisha Duong | [LinkedIn](https://www.linkedin.com/in/trisha-duong-444123195/) | [@trishanduong](https://github.com/trishanduong) | | Jaime de Venecia | [LinkedIn](https://www.linkedin.com/in/jaime-dv/) | [@jdvplus](https://github.com/jdvplus) | | Janica Abagat | [LinkedIn](https://www.linkedin.com/in/janica-abagat/) | [@janicaa1](https://github.com/janicaa1) |
    | OverVue 9.0 | GitHub | |------|--------| | Ji Kim | [@dwejikim](https://github.com/dwejikim) | | Chris Davis | [@chdavis0917](https://github.com/chdavis0917) | | Linden Young | [@lindenyoung](https://github.com/lindenyoung) | | Jigar Patel | [@jigarxp](https://github.com/jigarxp) |
    | OverVue 8.0 | GitHub | |------|--------| | Emma Genesen | [@EGenesen](https://github.com/EGenesen) | | Alex Law | [@alexlaw528](https://github.com/alexlaw528) | | Honghao(Michael) Sun | [@sunhonghaoparis](https://github.com/sunhonghaoparis) | | Chris Wong | [@Koregano73](https://github.com/Koregano73) |
    | OverVue 7.0 | GitHub | |------|--------| | Katherine Kim | [@katherinek123](https://github.com/katherinek123) | | Keyla Koizumi Nishimura | [@keylakoizumin](https://github.com/keylakoizumin) | | Jace Crowe | [@JaceCrowe](https://github.com/JaceCrowe) | | Johnny Chan | [@jchan444](https://github.com/jchan444) |
    | OverVue 6.0 | GitHub | |------|--------| | Megan Nadkarni | [@megatera](https://github.com/megatera) | | Kerolos Nesem | [@Kerolos-Nesem](https://github.com/Kerolos-Nesem) | | Julia Bakerink | [@jbbake](https://github.com/jbbake) | | Bryan Bart | [@MrBeeAreWhy](https://github.com/MrBeeAreWhy) | | Aram Paparian | [@apaparian](https://github.com/apaparian) |
    | OverVue 5.0 | GitHub | |------|--------| | Zoew McGrath | [@Z-McGrath](https://github.com/Z-McGrath) | | Shanon Lee | [@shanonlee541](https://github.com/shanonlee541) | | Ross Lamerson | [@lamerson28](https://github.com/lamerson28) | | Gabriela Kokhabi | [@gkokhabi](https://github.com/gkokhabi) |
    | OverVue 4.0 | GitHub | |------|--------| | Sonny Nguyen | [@sn163](https://github.com/sn163) | | Ryan Bender | [@rdbender](https://github.com/rdbender) | | Kenny Lee | [@kennyea](https://github.com/kennyea) | | Jeffrey Sul | [@jeffreysul](https://github.com/jeffreysul) | | Alex Lu | [@aleckslu](https://github.com/aleckslu) |
    | OverVue 3.0 | GitHub | |------|--------| | Faraz Moallemi | [@farazmoallemi](https://github.com/farazmoallemi) | | Terry Tilley | [@codeByCandlelight](https://github.com/codeByCandlelight) | | Nicholas Schillaci | [@schillaci767](https://github.com/schillaci767) | | Sean Grace | [@ziggrace](https://github.com/ziggrace) |
    | OverVue 2.0| GitHub | |------|--------| | Joju Olaode | [@JojuOlaode](https://github.com/JojuOlaode) | | Allison Pratt | [@allisons11](https://github.com/allisons11) | | Keriann Lin | [@keliphan](https://github.com/keliphan) | | Alexander Havas | [@LOLDragoon](https://github.com/LOLDragoon) |
    | OverVue 1.0| GitHub | |------|--------| | Drew Nguyen | [@drewngyen](https://github.com/drewngyen) | | Dean Ohashi | [@dnohashi](https://github.com/dnohashi) | | Dean Chung | [@deanfchung](https://github.com/deanfchung) | | Joseph Eisele | [@jeisele2](https://github.com/jeisele2) |
    OverVue was inspired by [PreVue](https://github.com/open-source-labs/PreVue)
    [↥Back to top](#table-of-contents)