All Projects → open-source-labs → Overvue

open-source-labs / Overvue

Prototyping Tool For Vue Devs 适用于Vue的原型工具

Programming Languages

Vue
7211 projects
javascript
184084 projects - #8 most used programming language
stylus
462 projects
HTML
75241 projects
shell
77523 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Overvue

Vue Skeleton Mvp
VueJs, Vuetify, Vue Router and Vuex skeleton MVP written on JavaScript using async/await built to work with API REST skeleton: https://github.com/davellanedam/node-express-mongodb-jwt-rest-api-skeleton
Stars: ✭ 406 (-80.74%)
Mutual labels:  vuex, frontend
Angular Tree Component
A simple yet powerful tree component for Angular (>=2)
Stars: ✭ 1,031 (-51.09%)
Mutual labels:  tree, frontend
Nuepress
📖 Nuxt.js + WordPress REST API
Stars: ✭ 524 (-75.14%)
Mutual labels:  vuex, frontend
Koa Vue Notes Web
🤓 This is a simple SPA built using Koa as the backend, Vue as the first frontend, and React as the second frontend. Features MySQL integration, user authentication, CRUD note actions, and Vuex store modules.
Stars: ✭ 200 (-90.51%)
Mutual labels:  vuex, frontend
Treeviz
Tree diagrams with JavaScript 🌲 📈
Stars: ✭ 95 (-95.49%)
Mutual labels:  tree, hierarchy
react
Basic Primitives Diagrams for React. Data visualization components library that implements organizational chart and multi-parent dependency diagrams.
Stars: ✭ 15 (-99.29%)
Mutual labels:  tree, hierarchy
Full Stack Fastapi Postgresql
Full stack, modern web application generator. Using FastAPI, PostgreSQL as database, Docker, automatic HTTPS and more.
Stars: ✭ 7,635 (+262.19%)
Mutual labels:  vuex, frontend
Full Stack Fastapi Couchbase
Full stack, modern web application generator. Using FastAPI, Couchbase as database, Docker, automatic HTTPS and more.
Stars: ✭ 243 (-88.47%)
Mutual labels:  vuex, frontend
Vue Finder
📁 A Vue.js component to display hierarchical data (like the MacOS X finder)
Stars: ✭ 87 (-95.87%)
Mutual labels:  tree, hierarchy
Laravel Vuetify Spa
Laravel-Vue SPA starter project template with Vuetify frontend.
Stars: ✭ 73 (-96.54%)
Mutual labels:  vuex, frontend
React D3 Tree
🌳 React component to create interactive D3 tree graphs
Stars: ✭ 543 (-74.24%)
Mutual labels:  tree, hierarchy
Hierarchy
Layout algorithms for visualizing hierarchical data.
Stars: ✭ 110 (-94.78%)
Mutual labels:  tree, hierarchy
Angular2 Tree Diagram
Angular Hierarchical UI module
Stars: ✭ 50 (-97.63%)
Mutual labels:  tree, hierarchy
Flowy Vue
Vue Flowy makes creating flowchart or hierarchy chart functionality an easy task. Build automation software, mind mapping tools, organisation charts, or simple programming platforms in minutes by implementing the library into your project.
Stars: ✭ 107 (-94.92%)
Mutual labels:  hierarchy, frontend
Graphview
Flutter GraphView is used to display data in graph structures. It can display Tree layout, Directed and Layered graph. Useful for Family Tree, Hierarchy View.
Stars: ✭ 152 (-92.79%)
Mutual labels:  tree, hierarchy
Object Visualizer
Vue JSON inspector with Chrome-like theme.
Stars: ✭ 159 (-92.46%)
Mutual labels:  tree
El Tree Select
基于element-ui2.x扩展下拉树
Stars: ✭ 159 (-92.46%)
Mutual labels:  tree
Ansible Cmdb
Ansible-cmdb takes the output of Ansible's fact gathering and converts it into a static HTML overview page (and other things) containing system configuration information.
Stars: ✭ 2,003 (-4.98%)
Mutual labels:  frontend
Userbase
Create secure and private web apps using only static JavaScript, HTML, and CSS.
Stars: ✭ 2,029 (-3.75%)
Mutual labels:  frontend
Vue Stator
Vuex alternative based on Vue.observable()
Stars: ✭ 162 (-92.31%)
Mutual labels:  vuex


OverVue

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了!

Table of Contents

Features

  • 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)
  • 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)
  • Full Vuex functionality, can add props, actions, and state to components. (v3.0)
  • Full edit functionality, can change the name of components as well as delete properties from a component (v3.0)
  • More robust code snippets with Vuex props, state, and actions included (v3.0)
  • Hotkey shortcuts to copy/paste/delete selected component (v4.0)
  • Connect to a Slack Workspace and send Slack Messages through OverVue (v4.0)
  • Ability to delete states or actions from the store (v4.0)
  • Vue Devtools enabled for Developers (v4.0)

↥Back to top

Changelog 2.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.

Changelog 3.0

OverVue 3.0
  • Implemented full component edit functionality
  • Improved sidebar user interface to consolidate edit functionality
  • UI is more reactive, improved dashboard's ability to update dynamically
  • Added ability to incorporate Vuex in application
  • Updated component details section to better display all aspects of a component
  • Added action, state, and props section to component details dashboard
  • New Vuex store dashboard section
  • More robust code snippets with Vuex props, state, and actions included
  • Bug fixes for parent/child issues
  • Improved Documentation for easier onboarding of new contributors

Changelog 4.0

OverVue 4.0
  • Integrated Slack through a Slack Login button to link user's slack channel to their OverVue instance
  • After logging in with Slack, user's have the ability to send a message to their selected Slack channel after saving
  • Implemented the ability to delete State and Actions from the store
  • Added the feature to quickly copy/paste Components through hotkeys
  • Reworked the interface to give users a more intuitive experience
    • Moved bottom dashboard to the right
    • Features on the left are geared toward creation/editing components
    • Features on the right are geared toward viewing overall hierarchy of App Prototype
    • Component Editor menu now switches between create/edit mode depending on if a Component is selected
    • Vuex Store and Actions now moved to left menu with ability to view/create/delete state and actions
  • Implemented Vue Devtools for development ease
  • Sped up component tree rendering speed for quicker, smoother viewing

  • Bug Fixes

  • Fixed html buttons not properly rendering for selected component
  • Fixed code snippet not properly rendering for selected component
  • Fixed JSON parser typeerror with component html lists
  • Fixed component tree view rendering instability with right sidebar
  • Fixed children and parent relationship mutations causing type related side effects
  • Fixed issue where state/actions deleted in store aren't reflected across components
  • Fixed issue with undo feature that would delete inputed text one character at a time

↥Back to top

How to use

  • Upon opening the application a Connect to Slack button will appear. To skip this step click 'Skip'

  • Click the button to open a browser window, log in to your Slack workspace and select a channel to send save notifications.

  • If you have logged in to Slack, upon saving your project file you will receive a prompt with the option to notify your team.

  • OverVue will assign a default root App component and a default 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 duplicate components with Ctrl/Cmd C & V and see the component tree updated in real time.

  • Duplicate components will appear offset from their original and retain the same state and route assignments.

  • Child components will inherit the same parents, but parent components will not inherit duplicate children.

  • The right-side drawer displays live code snippets for the selected element.

  • You can view and add new routes and associated components in the left-hand drawer.

  • State and actions can be created, edited, and assigned to components.

  • 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

↥Back to top

Installation

To download the development version for windows or mac, please visit https://www.Overvue.io

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 open Vuejs devtools (devtools should be open before devmode, otherwise, you can justforce reload electron app in dev mode after opening dev tools)

./node_modules/.bin/vue-devtools

To run electron app in dev mode

quasar dev -m electron

To build a new .dmg / windows .exe

quasar build -m electron

WSL Installation

The ability to load the application and/or devtools requires a tool/application to run a linux display as WSL does not have any display drivers since it is based off of just a CLI. I recommend X410 (https://x410.dev/), althought it does cost $15, for ease of use. There are free options such as VcXsrv(https://sourceforge.net/projects/vcxsrv/) that you can get, but requires more set up.

If you choose to use x410, you will need to set the environment DISPLAY variable on each console:

So, to open either the Vue devtools or OverVue in dev mode, first start your X Server then enter into the terminal: For WSL 1 :

export DISPLAY=:0

For WSL 2 :

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1

followed by the command for the devtools or devmode. If you want both open, enter commands above followed by starting the devtools:

./node_modules/.bin/vue-devtools

Then open a new terminal instance, set the DISPLAY value again (re-enter above command for DISPLAY), and start OverVue in dev mode:

quasar dev -m electron

Slack OAuth

For the Slack OAuth, you will need to create a Slack app through their website (https://api.slack.com/apps?new_app=1), so that you have your own Client Secret and Client ID. Then create two .env files (one for development and one for production).

  1. Create a Slack App from the link above. Copy your Client ID and Client Secret somewhere safe.
  2. Create two .env files in the main root of this repository. Name them:
.env
.env.development
  1. Open .env and add these three environment variables. Replace and with the client id and client secret given to you when you created your Slack App.
SLACK_CLIENT_SECRET = "<client secret>"
SLACK_CLIENT_ID = "<client id>"
SLACK_REDIRECT_URI = "overvue://slack"
  1. Next, open .env.development and do the same, just note that the SLACK_REDIRECT_URI will be different here:
SLACK_CLIENT_SECRET = "<client secret>"
SLACK_CLIENT_ID = "<client id>"
SLACK_REDIRECT_URI = "overvuedev://test"

↥Back to top

Contributing

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:

  • Option to export files in TypeScript
  • Ability to place child components into HTML elements
  • Integration with Storybook
  • Edit State and Actions in the Vuex Store

If you make changes and wish to update the website, here is the link to the repo: https://github.com/TeamOverVue/OverVuePage

↥Back to top

Authors

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
Sean Grace @ziggrace
Nicholas Schillaci @schillaci767
Terry Tilley @codeByCandlelight
Faraz Moallemi @farazmoallemi
Alex Lu @aleckslu
Jeffrey Sul @jeffreysul
Kenny Lee @kennyea
Ryan Bender @rdbender
Sonny Nguyen @sn163

Inspired by PreVue

↥Back to top

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].