DEV Community

Cover image for PreVue 3.0: Vue’s most visual prototyping tool yet

PreVue 3.0: Vue’s most visual prototyping tool yet

Nathan G Bornstein on December 02, 2023

As web developers, it’s crucial that our ideas be tangible and easily presentable. This makes prototyping an essential first step for bringing any ...
Collapse
 
kevinluo201 profile image
Kevin Luo

Thanks for sharing! I wanted to try and I downloaded the repo but I couldn't start the server successfully 🥲

Collapse
 
aarone4 profile image
Aaron Reese

open vscode
Open Terminal
create a new folder and navigate to it
git clone github.com/oslabs-beta/PreVue3.0.git
npm install
npm run dev

Collapse
 
kevinluo201 profile image
Kevin Luo

ooops! thank you @greenteaisgreat and @aarone4 , it's working
In the package.js

{
    "dev": "vite",
    "build": "vite build",
    "serve": "vite preview",
    "vite": "npm run server",
    "server": "node server/server.js",
    "test": "NODE_ENV=test vitest",
    "coverage": "vitest run --coverage",
    "start": "node server/server.js"
}
Enter fullscreen mode Exit fullscreen mode

I tried serve, vite, server, start except dev 😆

Thread Thread
 
greenteaisgreat profile image
Nathan G Bornstein

We 100% could've done better with the naming of the npm commands; we were building off an existing codebase, so some commands were jumbled together and we didn't really clarify some of the overlap between them. Glad you were able to get it working! This is one of our first big projects, so feel free to give any feedback you have :D

Collapse
 
greenteaisgreat profile image
Nathan G Bornstein

Let me know if the approach @aarone4 mentioned works for you or not! I know there's still some kinks to work out, so please feel free to let me know of any more bugs

Collapse
 
aarone4 profile image
Aaron Reese

looks like an interesting and promising project. It could probably do with a tutorial or some YouTube videos as it wasn't clear what the purpose of adding base components was to the side bar and it felt non-intuitive adding new user defined components. when you double click into a user component it did not appear to be possible to nest all base components (e.g. I couldn't get a form to nest inside a div) I also couldn't find a way to remove a base or user component from the design surface.

Collapse
 
greenteaisgreat profile image
Nathan G Bornstein • Edited

That's a wonderful idea! Doing a tutorial showing basic functionality isn't even something we've thought to do. And as @parkermcdonnell had said, we could really use with some proper documentation to address said basic operations.

The nesting issue is one we're aware of, as well as a bug that occurs when you try to save a project and then open it; it freezes the program and doesn't work again until a refresh is done on the browser.

It is possible to remove components, but it's not very intuitive on how to exactly do that 😅 you can remove your last action by hitting cmd-z (or ctrl-z on Windows). It's also possible to select an individual element (or entire component) and click the backspace button and that can remove the selected item you wish to delete. Hopefully we can implement a little red "x" or something on each element/component in the future to make that more obvious.

I really appreciate your feedback and am just happy you gave it a shot! Thank you for using PreVue!

Collapse
 
parkermcdonnell profile image
Parker McDonnell

This looks really really cool. I'm looking to use Vue and PreVue to create simple UIs that can control and visualize data from microcontrollers that act as web server devices. I do a lot of embedded programming, but I'm not familiar with the web development side of things and not sure where to even start getting this tool up and running. Is there any documentation on getting PreVue and Vue up and running on a Linux distro, say Ubuntu?

Collapse
 
greenteaisgreat profile image
Nathan G Bornstein

We're still really early on in polishing up some of the quality-of-life features, but hopefully we'll address those issues soon. So far, the closest thing we have for documentation is in the readme.md file located on the GitHub repo.

The tried and true method so far has been to use VSCode and clone it to your machine from the GitHub repo, then do an "npm i" to get all the dependencies, then "npm run dev" to get the local frontend server and then "npm run vite" to connect to the backend.

Please feel free to reach out for just about anything, I'm more than happy to assist! I made this with a few other friends and we're still pretty early on in our dev journey, so there's plenty of improvements to be made 😅

Collapse
 
michaelsynan profile image
Michael Synan

Incredible

Collapse
 
kehoecj profile image
Clayton Kehoe

Thanks for sharing! ⭐️

Collapse
 
morphzg profile image
MorphZG

Will try

Collapse
 
greenteaisgreat profile image
Nathan G Bornstein • Edited

Thank you so much for giving us a shot! Please feel free to get back to me about any issues you come across on this thread or on the discussions section of our repo, which can be found at this link:

github.com/oslabs-beta/PreVue3.0/d...

Again, can't thank you enough for trying out our little project!

Collapse
 
wesleycramblitt profile image
Wesley Cramblitt

Very cool. All of this time I've been either using a literal notepad, figma, or just visualizing in my head.

I didn't realize there were tools out there like this.

Collapse
 
greenteaisgreat profile image
Nathan G Bornstein

Thank you so much for the wonderful feedback! That really means a lot to hear <3

Collapse
 
wesfincher profile image
Wes Fincher

Great idea! And I like what you have! A few questions or ideas if I may...

Any chance this grows into something like Figma for Vue3?
Can components be generated with Typescript and composition API (or can they be tailored to the users preference)?
Anything like theming for material UI or bootstrap so components are displayed closer to how they would look live?
Can 3rd party libraries be imported for reuse (e.g. PrimeVue, et al)?