Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
62e0ce1
found bug preventing app from rendering in dev mode
zachpestaina Feb 21, 2023
c7994f8
Merge pull request #1 from oslabs-beta/feature_branch
seanflynn5 Feb 21, 2023
b6cc995
first day - have to remove all bulma
blushingscorpionn Feb 22, 2023
5c60837
fixed a lot of functionality, update a lot of packages
blushingscorpionn Feb 22, 2023
875318a
Co-authored-by: seanflynn5 <seanflynn5@users.noreply.github.com>
blushingscorpionn Feb 23, 2023
4b1a24c
Co-authored-by: Robert Drake <rmdrake8@gmail.com>
blushingscorpionn Feb 23, 2023
b8592a5
implement component sidebar logic
zachpestaina Feb 24, 2023
de7886e
fixing moving/resizing bugs
seanflynn5 Feb 24, 2023
fcdf69d
fixes bugs with resizing and dragging
seanflynn5 Feb 25, 2023
ba52536
populate selected elements container & persist state
zachpestaina Feb 25, 2023
18c8753
Merge pull request #2 from oslabs-beta/new-branch
zachpestaina Feb 25, 2023
7d2b3a3
Merge branch 'dev' into latest
zachpestaina Feb 25, 2023
c1318f7
Merge pull request #3 from oslabs-beta/latest
rmdrake8 Feb 25, 2023
a96c311
2.25 commit
blushingscorpionn Feb 25, 2023
14b0685
new tree in progress
seanflynn5 Feb 25, 2023
da10950
final commit first week
blushingscorpionn Feb 25, 2023
8490930
test commit
blushingscorpionn Feb 25, 2023
2eb9ab9
tree updated; still needs tweaking
seanflynn5 Feb 26, 2023
d3503d0
Co-authored-by: Robert Drake <rmdrake8@gmail.com>
zachpestaina Feb 27, 2023
b6049dd
created db connection, schemas, routes
blushingscorpionn Feb 27, 2023
2da6b9a
Merge pull request #4 from oslabs-beta/jason/apptoweb
rmdrake8 Feb 28, 2023
0dd418b
Merge pull request #5 from oslabs-beta/new-branch
rmdrake8 Feb 28, 2023
0687abc
adds basic formatting and functionality to splash page
seanflynn5 Feb 28, 2023
020e5b3
add to logice to generate template files and implement html element n…
zachpestaina Feb 28, 2023
68ca5a7
include new files to previous commit
zachpestaina Feb 28, 2023
646d4af
adds route for splash page
seanflynn5 Feb 28, 2023
f818562
Merge pull request #6 from oslabs-beta/new-branch
jasonboo123 Feb 28, 2023
faa16f8
resolve merge conflicts with latest
zachpestaina Feb 28, 2023
783fe35
Merge pull request #9 from oslabs-beta/latest
zachpestaina Feb 28, 2023
73ac301
fix dragging/resizing component state bugs
seanflynn5 Feb 28, 2023
4d995dd
restores modal functionality
rmdrake8 Mar 1, 2023
e2fbeb0
fixes ADD_TO_COMPONENT_HTML_LIST mutation
rmdrake8 Mar 1, 2023
305988a
modifies editqueue in modal
rmdrake8 Mar 1, 2023
2a3a452
add Modal folder; no circular JSON object
seanflynn5 Mar 1, 2023
3ea5906
merge with new-branch
rmdrake8 Mar 1, 2023
e8249a8
Merge pull request #12 from oslabs-beta/robert/modalCodeDisplay
rmdrake8 Mar 1, 2023
cb42669
resotre draggable funtionality fix circular JSON object bug
zachpestaina Mar 1, 2023
c0c3b26
fix state of componenents and circular JSON error in modal view
seanflynn5 Mar 1, 2023
51b3c7f
enabling live rendering for drag and drop tree within component modal…
zachpestaina Mar 2, 2023
d160081
remove duplicate files
zachpestaina Mar 2, 2023
66d1a1e
minor styling updates committing to merge with dev
zachpestaina Mar 2, 2023
b869095
Merge branch 'dev' into bug_fixes
zachpestaina Mar 2, 2023
805000d
Merge pull request #13 from oslabs-beta/bug_fixes
seanflynn5 Mar 2, 2023
59de043
styling changes, basic login
blushingscorpionn Mar 2, 2023
d6914fc
Merge pull request #14 from oslabs-beta/jason/CSS
seanflynn5 Mar 2, 2023
735e9ec
add logic to export current version of project
zachpestaina Mar 2, 2023
b5318f5
Merge branch 'dev' into bug_fixes
zachpestaina Mar 2, 2023
3ecb425
Merge pull request #15 from oslabs-beta/bug_fixes
seanflynn5 Mar 2, 2023
c0aa1cb
removes electron builder file, and removes it from gitignore
rmdrake8 Mar 3, 2023
21d5cb5
add frontend oauth logic
seanflynn5 Mar 3, 2023
89a8a66
set up configuration files for typescript, create types.ts file, begi…
rmdrake8 Mar 3, 2023
fb8aae0
add attempts to configure OAuth
seanflynn5 Mar 6, 2023
571037e
wrap up state migration to typesrcript
zachpestaina Mar 6, 2023
b1cc670
include file deletion in last commit
zachpestaina Mar 6, 2023
2a4d978
add authentication and authorization logic (OAuth and JWT)
seanflynn5 Mar 7, 2023
30dcd35
Merge pull request #16 from oslabs-beta/sean/post-mvp
zachpestaina Mar 7, 2023
e0c84cf
add user to db via OAuth
seanflynn5 Mar 9, 2023
f89f50b
Merge remote-tracking branch 'origin/dev' into dev
rmdrake8 Mar 9, 2023
db467e5
test merge of typescriptMigration with dev branch
rmdrake8 Mar 9, 2023
c215fd3
update vite config ts to have proxy server
rmdrake8 Mar 9, 2023
1915a2c
Merge pull request #18 from oslabs-beta/testMergeDevTS
zachpestaina Mar 9, 2023
0d993f3
up to date dependencies
blushingscorpionn Mar 9, 2023
50efe20
Co-authored-by: Robert Drake <rmdrake8@gmail.com>
blushingscorpionn Mar 9, 2023
8f48f64
add functionality for saving projects (front/backend)
seanflynn5 Mar 10, 2023
741a4f6
configure vitest and testing
blushingscorpionn Mar 10, 2023
3b2be41
setting up backend testing
blushingscorpionn Mar 10, 2023
6917052
create component files for tests
blushingscorpionn Mar 10, 2023
7ff387f
component rendering testing for component.vue
blushingscorpionn Mar 10, 2023
8deb1b7
add functionality for saving and retrieving projects; add changes to …
seanflynn5 Mar 10, 2023
3255660
fix merge conflicts for merge with dev_safety
seanflynn5 Mar 10, 2023
3e66c83
Merge pull request #19 from oslabs-beta/sean/post-mvp
zachpestaina Mar 10, 2023
54a3bce
successfully merge dev_safety and sean/post-mvp
seanflynn5 Mar 10, 2023
70e2e57
Merge pull request #20 from oslabs-beta/devTestBranch
jasonboo123 Mar 10, 2023
0be47bb
add logout functionality and conditionally render buttons
seanflynn5 Mar 11, 2023
4134aef
add styling overhaul
seanflynn5 Mar 11, 2023
adfd935
add styling tweaks to modal view
seanflynn5 Mar 11, 2023
3a26421
Merge pull request #21 from oslabs-beta/sean/styling-branch
zachpestaina Mar 11, 2023
79fd45c
merging new tests with front end
jasonboo123 Mar 11, 2023
47370cf
Merge branch 'dev' into jason/testingb
jasonboo123 Mar 11, 2023
e7386e3
fixed the nav bar
jasonboo123 Mar 11, 2023
d803931
Update Component.vue
rmdrake8 Mar 11, 2023
cbf9387
Update HomeSidebar.vue
rmdrake8 Mar 11, 2023
3c846ca
Fixed the bug in homesidebar
jasonboo123 Mar 11, 2023
e6ab9a9
Co-authored-by: Robert Drake <rmdrake8@gmail.com>
jasonboo123 Mar 11, 2023
8257d8f
Merge pull request #23 from oslabs-beta/jason/testingb
rmdrake8 Mar 11, 2023
246cffb
adding component testing
jasonboo123 Mar 11, 2023
c2c40f6
makes progress on integration tests. Blocked on mocking authenticatio…
rmdrake8 Mar 11, 2023
9ca4d4d
fixes typo
rmdrake8 Mar 13, 2023
5602908
add splash page styling and tree bug fix
seanflynn5 Mar 13, 2023
a747878
integration test for saveProject using sinon to mock authentication m…
rmdrake8 Mar 13, 2023
ccb106e
Merge pull request #24 from oslabs-beta/sean/styling-branch
seanflynn5 Mar 13, 2023
d4fe7e0
Merge pull request #25 from oslabs-beta/devTestBranch
seanflynn5 Mar 13, 2023
676f845
fix bug with project export
seanflynn5 Mar 13, 2023
4eae735
added functionality tests
jasonboo123 Mar 13, 2023
196abd6
Merge branch 'dev' into jason/testingb
jasonboo123 Mar 13, 2023
7671854
Update supertest.spec.js
zachpestaina Mar 13, 2023
51daf47
Merge pull request #26 from oslabs-beta/jason/testingb
zachpestaina Mar 13, 2023
b937e53
converts database URI to .env variable
rmdrake8 Mar 13, 2023
fba232b
supertest files
rmdrake8 Mar 13, 2023
47c45dd
Merge pull request #27 from oslabs-beta/testingSuite
jasonboo123 Mar 13, 2023
930fa96
remove extraneous code and include comments
zachpestaina Mar 14, 2023
440ca53
containerized application with Docker
zachpestaina Mar 15, 2023
f2f3669
adding config file for AWS EB
zachpestaina Mar 15, 2023
1ffdc22
reconfiguire to host on AWS
zachpestaina Mar 15, 2023
da26477
Merge pull request #28 from oslabs-beta/dev
rmdrake8 Mar 15, 2023
59c6972
reconfigure app to have server, serve dist bundle to client
zachpestaina Mar 15, 2023
073b8f3
fix page refresh bug
zachpestaina Mar 15, 2023
c3e47c0
Merge pull request #29 from oslabs-beta/dev
rmdrake8 Mar 15, 2023
630db06
update Dockerfile
zachpestaina Mar 15, 2023
8e35ed8
removes catch all error handler in server.js
rmdrake8 Mar 15, 2023
0b9721f
make github callback uri an env variable
zachpestaina Mar 15, 2023
dc5c4cb
update cors origin to be environment variable
zachpestaina Mar 15, 2023
dfef2c8
add zip file for hosting purposes
zachpestaina Mar 16, 2023
724840e
Update README.md
seanflynn5 Mar 16, 2023
311c20d
Update README.md
seanflynn5 Mar 16, 2023
a137c43
Update README.md
seanflynn5 Mar 16, 2023
a8b46b5
Add files via upload
jasonboo123 Mar 16, 2023
4a4fbd1
Update README.md
jasonboo123 Mar 16, 2023
a534ea3
Update README.md
jasonboo123 Mar 16, 2023
1d830dd
Add files via upload
jasonboo123 Mar 16, 2023
0531d05
Update README.md
jasonboo123 Mar 16, 2023
b924bdd
Add files via upload
jasonboo123 Mar 16, 2023
f7eb3f2
Update README.md
jasonboo123 Mar 16, 2023
73fe805
Add files via upload
jasonboo123 Mar 16, 2023
dc6fda8
Update README.md
jasonboo123 Mar 16, 2023
668375e
Update README.md
jasonboo123 Mar 16, 2023
88832ae
Update README.md
jasonboo123 Mar 16, 2023
defcd88
Update README.md
jasonboo123 Mar 16, 2023
6fd7dd2
Update README.md
seanflynn5 Mar 16, 2023
74cd9e8
Update README.md
seanflynn5 Mar 16, 2023
eeb4ac8
Update README.md
seanflynn5 Mar 16, 2023
81a7bd1
Add files via upload
jasonboo123 Mar 16, 2023
da7f8c8
Update README.md
jasonboo123 Mar 16, 2023
492bd49
Update README.md
jasonboo123 Mar 16, 2023
02a2b49
Update README.md
jasonboo123 Mar 16, 2023
f859e3c
Merge pull request #30 from oslabs-beta/dev
zachpestaina Mar 16, 2023
05cb8a8
Update README.md
jasonboo123 Mar 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
module.exports = {
root: true,
env: {
es2021: true,
node: true
},
extends: [
'plugin:vue/essential',
'plugin:prettier/recommended',
'@vue/prettier'
'@vue/prettier',
'eslint:recommended',
'plugin:@typescript-eslint/recommended'
],
parser: 'vue-eslint-parser',
plugins: ['@typescript-eslint, vue'],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'warn',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
},
parserOptions: {
parser: 'babel-eslint'
}
};
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@
node_modules
/dist

# local env files
# dotenv environment variables files (local env files)
.env.local
.env.*.local
.env
.env.test


# Log files
npm-debug.log*
Expand All @@ -22,7 +24,5 @@ yarn-error.log*
*.sln
*.sw*

#Electron-builder output
/dist_electron

package-lock.json
12 changes: 12 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# base image that provides runtime environment for the application
FROM node:16.13
# where the application code will be copied to in the docker container
WORKDIR /usr/src/app
# copies all files from the current directory (where the Dockerfile is located) to the working directory in the docker image (which we set on line 4)
COPY . .
RUN npm install
RUN npm run build
# Exposes port 4173 to the host machine, so that it can access the Node.js application running inside the Docker container
EXPOSE 8080
# Specifies the command to run when the Docker container starts
ENTRYPOINT npm run server
111 changes: 51 additions & 60 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img width="350" src="src/assets/prevue-logo.png?raw=true">
<img width="350" src="src/assets/prevue_color_white.png?raw=true">
<h1 align="center">PreVue </h1>
</p>

Expand All @@ -16,34 +16,24 @@ For Vue Developers
From Component Architecture to Code Exporting
</h4>

PreVue allows the user to design/visualize their component architecture by allowing users to :
PreVue allows users to conceptualize and visualize component architecture by allowing them to :

1. Create components and preview their code
1. Create components and preview their associated code
2. Set up different routes and views
3. Establish parent-child component relationships
4. View application hierarchy in tree format
5. Export the component architecture as a Vue application created with default Vite settings.

2. Set up different views/routes

3. Establish parent-child component relationships

4. See their application architecture in tree format

5. Export the component architecture as a Vue application created with the default Vue CLI settings.
Use PreVue to create projects in single sessions or sign in with GitHub to save projects and update them anytime.
the component architecture as a Vue application created with the default Vue CLI settings.

<p align="center">
<img width="1000" src="src/assets/prevue.png?raw=true">
<img width="1000" src="src/assets/3.png?raw=true">

</p>

## Getting Started

---

Download for [MacOS](https://s3.amazonaws.com/prevue-app/PreVue-1.0.0.dmg), [Linux](https://s3.amazonaws.com/prevue-app/PreVue_1.0.0_amd64.deb), or [Windows](https://s3.amazonaws.com/prevue-app/PreVue+Setup+1.0.0.exe)

###### Support for Windows now here!

- Mac users only: for now you might need to go to your security settings to allow the app run on your system as we do not have an Apple license yet.

If you find any issues, [file issue](https://github.com/teamprevue/PreVue/issues)

## How to use

Expand All @@ -52,45 +42,49 @@ If you find any issues, [file issue](https://github.com/teamprevue/PreVue/issues
#### Adding Components

- Double click on the application icon
- Create components by entering a name and clicking the html elements you need

- Clicked elements will be shown on the right sidebar
- Drag them around to change the order!
- Create components by entering a name and clicking the HTML elements you need
- Clicked elements will be shown in the right sidebar
- Drag the elements to change their order
- Once you're satisfied, click the button to ‘add a component’ and it will show up in the working area. Resize and move components to fit the design you have in mind.

- Once you're satisfied, click the button to add a component and it will show up in the center stage, with the ability to resize!

<img src='http://g.recordit.co/fyQ6LKvwlt.gif'/>
<img width="1000" src="src/assets/newcomp.png?raw=true">

#### Editing Components

- Edit components by double clicking for the edit modal to show
- Double click elements to bring up the modal view
- Add additional elements to a component with a live preview of the component code
- Drag elements on the right side bar to nest elements
- Establish parent-child component relationships via a dropdown menu when creating or editing components
- Establish parent-child component relationships via the dropdown menu when creating or editing components

<img src='http://g.recordit.co/A6rOQRJVOc.gif'/>

#### Adding Routes/Projects
<img width="1000" src="src/assets/componentdisplay.png?raw=true">

- Create different routes for your application by entering a new route name and pressing enter
- Any components created on a certain route will be automatically saved to that route
- Play with multiple projects by clicking the add project icon!
- Display a tree view of entire application component architecture when the tree icon on navbar is clicked
#### Adding Routes

<img src='http://g.recordit.co/bfYwX1sdtl.gif'/>
- Create different routes that represent different Views for your app.
- Any components created on a given route will be automatically saved to that route
- See your application’s hierarchy by clicking the ‘Tree’ icon in the navigation bar

<p align="center">
<img src="src/assets/routecreator.png?raw=true">
</p>

#### Tree View of Application Architecture

<p align="center">
<img width="1000" src="src/assets/tree-demo.png?raw=true">
<img width="1000" src="src/assets/treeview.png?raw=true">

</p>

#### Saving/Opening/Exporting Projects

- If you ever need to save your current project, click the save project icon to save a json to your local directory
- Next time the application is started, open the project again by clicking the open project icon!
- In order to utilize the saving and opening functionality of PreVue, please clone the repo to run on your local machine.
- 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.


<img src='http://g.recordit.co/uFLqyjAnMm.gif'/>

Expand All @@ -112,66 +106,63 @@ src/
UserCreatedRouteComponent2.vue
...
```

### Editor Hotkeys:

- cmd/ctrl + s: save
- cmd/ctrl + o: open
- cmd/ctrl + n: new project tab
- cmd/ctrl + w: close project tab

## Running your own local version

---

PreVue was developed using node runtime @ v10.15.0. You should make sure you at least have that version installed to ensure full compatibility. You can download the latest version of node [here](https://nodejs.org/en/)

### Setup

Clone this repo

```
git clone https://github.com/teamprevue/PreVue.git
git clone https://github.com/oslabs/PreVue.git
```

Install dependencies

```
npm i
```
Build the app

Run electron app
```
npm run build
```
Run the app

```
npm run electron:serve
npm run server
```

Go to <strong>http://localhost:8080</strong> to use PreVue!

## Built With

---

- [Vue.js](https://vuejs.org/)
- [Vue Router](https://router.vuejs.org/guide/#html)
- [Vuex](https://vuex.vuejs.org/)
- [Electron](https://electronjs.org/)
- [Vue-Electron CLI](https://github.com/nklayman/vue-cli-plugin-electron-builder)
- [Buefy](https://buefy.org/)
- [Babel](https://babeljs.io/)
- [Vite](https://vitejs.dev/)
- [Vuetify](https://vuetifyjs.com/)
- [Jest](https://jestjs.io/)
- [Travis](https://travis-ci.org/)
- [localForage](https://localforage.github.io/localForage/)
- [Vue D3 Tree](https://github.com/David-Desmaisons/Vue.D3.tree)
- [SuperTest](https://www.npmjs.com/package/supertest)

## Contributing

---

PreVue is currently in beta release. We encourage you to submit issues for any bugs or ideas for enhancements. Also feel free to fork this repo and submit pull requests to contribute as well.
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. Also follow PreVue on [LinkedIn](https://www.linkedin.com/company/prevue-live/) for more updates.

## Authors

---
PreVue 2.0
- **Jason Boo** [@jasonboo123](https://github.com/jasonboo123)
- **Robert Drake** [@rmdrake8](https://github.com/rmdrake8)
- **Sean Flynn** [@seanflynn5](http://github.com/seanflynn5)
- **Zach Pestaina** [@zachpestaina](https://github.com/zachpestaina)

PreVue 1.0
- **Hubert Lin** [@hubelin](https://github.com/hubelin)
- **Franklin Pinnock** [@pinnockf](https://github.com/pinnockf)
- **Annette Lin** [@al2613](https://github.com/al2613)
Expand Down
3 changes: 0 additions & 3 deletions babel.config.js

This file was deleted.

40 changes: 0 additions & 40 deletions electron-builder.json

This file was deleted.

File renamed without changes.
8 changes: 3 additions & 5 deletions public/index.html → index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,14 @@
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
<link rel="icon" href="/favicon.ico" />

<link
rel="stylesheet"
href="https://use.fontawesome.com/releases/v5.5.0/css/all.css"
integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU"
crossorigin="anonymous"
/>
<!-- <link
rel="stylesheet"
href="https://unpkg.com/bulmaswatch/darkly/bulmaswatch.min.css"
/> -->

<title>PreVue</title>
</head>
Expand All @@ -29,5 +25,7 @@
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->

<script type="module" src="/src/main.ts"></script>
</body>
</html>
11 changes: 7 additions & 4 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,18 @@ module.exports = {
'^.+\\.vue$': 'vue-jest',
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$':
'jest-transform-stub',
'^.+\\.jsx?$': 'babel-jest'
'^.+\\.jsx?$': 'babel-jest',
},
transformIgnorePatterns: ['/node_modules/'],
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1'
'^@/(.*)$': '<rootDir>/src/$1',
},
snapshotSerializers: ['jest-serializer-vue'],
testMatch: [
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)',
],
testURL: 'http://localhost/'
testEnvironmentOptions: {
url: 'http://localhost:5174', // replace with your test URL
},
testEnvironment: 'node',
};
Loading