Skip to content

open-source-labs/PreVue

Repository files navigation


PreVue

All-in-One Prototyping Tool For Vue Developers

From Component Architecture to Code Exporting

PreVue allows users to conceptualize and visualize component architecture by making it possible to :

  • Build components, visualize UI and preview the associated code
  • Set up different routes and views for each project
  • Establish parent-child component relationships
  • View application hierarchy in tree format
  • Save and open projects that are currently in progress, ensuring that completed work is not lost and can be revisited at any time
  • Export component architecture as a Vue application created with default Vite settings

Use PreVue to create projects in single sessions or sign in with GitHub to save projects and update them at your convenience!

Getting Started


Adding Views

  • Select an existing view from the View Creator dropdown, or enter a new view name, then select your custom view from the View Creator dropdown
  • Any components created on a given view will be automatically saved to that specific view
  • See your application’s hierarchy by clicking the ‘Tree’ icon in the navigation bar

Tree View of Application Architecture

Adding Components

  • Enter a component name in the Component Creator field and select HTML elements
  • Clicked elements will be shown in the right sidebar -- drag elements to change their order
  • Once you're satisfied, click ‘add component’ button and it will show up in the working area -- resize and move components to fit the design you have in mind

Editing Components

  • Double click elements to bring up the modal view
  • Add additional elements to a component with a live preview of the component code
  • Drag selected elements to the right to nest elements
  • Establish parent-child component relationships via the dropdown menu when creating or editing components

Saving / Opening / Exporting Projects

  • If you're signed in with GitHub, click the ‘Save Project’ icon to save it to PreVue’s database
  • Click ‘Open Project’ to retrieve past projects
  • Once you're satisfied, click the export project icon to export your awesome project as new Vue application
  • Other users can use PreVue's playground to create and export projects in single sessions without signing in

Code Exporting

Below is the generated directory structure of the Vue application that is created when you export your design.

src/
  assets/
  App.vue
  components/
    UserCreatedComponent1.vue
    UserCreatedComponent2.vue
    ...
  views/
    HomeView.vue
    UserCreatedRouteComponent1.vue
    UserCreatedRouteComponent2.vue
    ...

Built With


Changelog


PreVue 3.0 Updates:

  • OAuth integration with GitHub for secure authentication
  • Full CRUD functionality for prototype creation
  • Implementation of appropriate hierarchical relationships reflected in UI
  • Website and Homepage redesign for seamless user experience
  • Realistic rendering of elements to Component Display
  • Delete and Undo functionality for individual Components
  • Project saving, loading & export ability

PreVue 2.0 Updates:

  • Implementation of PreVue as a web application
  • TypeScript integration
  • Backend infrastructure built with Node/Express
  • General UI/UX enhancements
  • Testing with Vitest and Supertest (and Jest)

Contributing to PreVue


We encourage you to submit issues for any bugs or ideas for enhancements. Please feel free to fork this repo and submit pull requests to contribute as well. Follow PreVue on LinkedIn for more updates.

Ideas for additional features include:

  • Project livesharing for collaborative sessions (via Websockets)
  • Migrate state management from Vuex to Pinia
  • More thorough testing with Jest
  • Ability to rename and add styling to individual components
  • Containerization of PreVue App
  • User Authentication updates via OAuth

Authors

Prevue 3.0

PreVue 2.0

PreVue 1.0

License


This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

PRs Welcome License: MIT