Prototyping 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 resulting boilerplate can be exported as a template for further development.
这个程序能帮你生成Vue 组件, 设置 routes , 也可以帮你显像Component Parent-Child组件树。你只要做一些小配置然后可以下载code boilerplate. 这样你就可以很方便简洁地生成Vue前台APP了!
- Upload a frontend mockup image
- Visualize draggable and resizable components
- Create parent-child hierarchy of components
- Add html elements to components
- Create routes to be used by Vue Router
- Live-generated previewable code snippets for each component
- Live-generated tree view to aid in visualizing parent-child hierarchy
- Save projects and open previous projects
- Export full boilerplate code for a working frontend
- Undo/redo functionality (v2.0)
- Can nest HTML elements (v2.0)
- Ability to navigate into HTML elements from a selected Vue component (v2.0)
- Assign one image per route (v2.0)
- Can now set Vue components to specific layers (v2.0)
- Will now load route images along with project (v2.0)
- Windows compatibility for uploading mockup images. (v2.0)
OverVue 2.0
- Improved hierarchy tree rendering
- Improved Route addition and deletion
- Able to search for components by name
- Improved UI to be more informative
- UI is more reactive, code snippets update dynamically
- Component children menu is consistent with children list at time of creation
- Children components can no longer choose any of their ancestors to be their children.
- Can now use Quasar build -m electron to make windows .exe
- Exporting projects now exports the mockup files as well into the assets folder
- Saving projects now saves the mockup image url
- Extensive bug fixing for Vue component and HTML element deletion behavior, exporting and saving.
-
Opening the application will create by default a root App component and a root route called "HomeView"
-
Upload a mockup from your filesystem if you'd like. Remove the mockup and choose a new one if needed.
-
To add a new component, type its name in the component name box and select any HTML elements that should be rendered by that component.
-
HTML elements can also be added after creation by selecting the component in the display, then selecting HTML elements.
-
Select a parent component for the new component if needed.
-
After adding, you can move and resize the component in the display.
-
You can also add children to components by right-clicking the component to add children to, and you can see the tree re-render as you create new components or change the hierarchy.
-
The dashboard shows info about each component (code snippets and HTML elements). Click a component in the display to see its properties.
-
You can add new routes and view all components and routes in the sidebar.
-
When finished creating, you can export to a file location of your choice. Below is the exported file structure:
public/
index.html
src/
assets/
components/
UserCreatedComponent1.vue
UserCreatedComponent2.vue
...
views/
HomeView.vue
UserCreatedRouteComponent1.vue
UserCreatedRouteComponent2.vue
...
App.vue
main.js
router.js
babel.config.js
package.json
-
Undo/Redo feature has been added to the top right of the program, you can also use CTRL+z and CTRL+y respectively.
-
You can nest html elements in two different ways:
-
Upon creating a component and adding an html element into it, Select the component to make it the active component. Go to the html elements tab and then double click on the html element you wish to be the target for your new elements. Once the html element is selected, use the left hand panel and start adding elements like you were adding it to a component.
-
Similar to above, but instead of double clicking, you can press the down arrow icon on the html element button to enter it. From there the view will change to the contents of that particular HTML element. You can then add html elements like you would for a component using the left hand side
-
-
Setting layers on a component is done by right clicking the desired component on the component display and using the menu option All components start on layer 1 by default.
This app was developed using the Quasar framework, so first you will need to install the Quasar cli
npm i -g @quasar/cli
Install dependencies
npm i
To run electron app in dev mode
quasar dev -m electron
To build a new .dmg / windows .exe
quasar build -m electron
We'd love for you to test this application out 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:
- Vuex state prototyping and boilerplate export
- Option to export files in TypeScript
- Ability to place child components into HTML elements
- Integration with Storybook
- Ability to add a copy of an existing component from one route to another
Contributors:
Joseph Eisele @jeisele2
Dean Chung @deanfchung
Dean Ohashi @dnohashi
Drew Nguyen @drewngyen
Alexander Havas @LOLDragoon
Keriann Lin @keliphan
Allison Pratt @allisons11
Joju Olaode @JojuOlaode
Inspired by PreVue