Skip to content
Merged

Dev #106

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
6f17b8c
Edited Readme
danshuu Mar 22, 2019
9fbca9d
Merge pull request #79 from danshuu/master
pinnockf Mar 22, 2019
08d023c
updating README
hubelin Mar 22, 2019
30a0a32
updated README and added Linux support
hubelin Mar 22, 2019
d19e326
finalized README and added Linux support
hubelin Mar 22, 2019
555aac2
Adding project that has bug with children
danshuu Mar 23, 2019
bf0f75a
Merge pull request #81 from danshuu/fixbugs
danshuu Mar 23, 2019
88d5260
updated README
hubelin Mar 23, 2019
cd1204a
README fixes
hubelin Mar 23, 2019
f250a1a
Pulled in latest version and updated README
hubelin Mar 23, 2019
28c64e6
Merge pull request #80 from hubelin/master
al2613 Mar 23, 2019
a5b0958
updated mac download link
hubelin Mar 23, 2019
f4f557b
Merge pull request #82 from hubelin/master
pinnockf Mar 23, 2019
e258b3a
added windows support and additional icons
hubelin Mar 24, 2019
fb015bb
modified README to add link to windows download
hubelin Mar 24, 2019
3ce3cd1
Merge pull request #84 from hubelin/master
hubelin Mar 24, 2019
ce82907
edited README
danshuu Mar 27, 2019
8a83e36
Merge pull request #89 from danshuu/master
hubelin Apr 9, 2019
fd5ae86
adding index file
danshuu Apr 9, 2019
22e4f3a
adding main file
danshuu Apr 9, 2019
f7edd78
adding babel file
danshuu Apr 9, 2019
78d2854
adding package
danshuu Apr 9, 2019
8b6fc61
adding package and writing to location
danshuu Apr 9, 2019
3537532
Deleted vue boiler plate folder and added export functionality for ex…
danshuu Apr 9, 2019
d740a71
Merge pull request #90 from danshuu/master
danshuu Apr 9, 2019
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
59c6972
reconfigure app to have server, serve dist bundle to client
zachpestaina Mar 15, 2023
073b8f3
fix page refresh bug
zachpestaina Mar 15, 2023
630db06
update Dockerfile
zachpestaina 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
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
143 changes: 107 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,63 +1,100 @@
<p align="center">
<img width="350" src="src/assets/prevue-large-green.png?raw=true">
<img width="350" src="src/assets/prevue-logo.png?raw=true">
<h1 align="center">PreVue </h1>
</p>

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/teamprevue/PreVue/pulls)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE LINK GOES HERE)
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)

<h3 align="center">
An open source Vue application prototyping tool for developers and designers.
All in One Prototyping Tool
For Vue Developers

</h3>

PreVue allows the user to design/visualize their component architecture - previewing component template HTML structure, setting up views/routes, establishing parent-child component relationships - and then export their component architecture as a Vue application created with the default Vue CLi settings.
<h4 align="center">
From Component Architecture to Code Exporting
</h4>

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

1. Create components and preview their code

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.

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

</p>

## Getting Started

If you are looking for the executable version of PreVue, you can download it at [prevue.io](https://www.prevue.io/)
---

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
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)

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

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/)
- 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.

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

Clone this repo
## How to use

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

Install dependencies
#### Adding Components

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

Run electron app
- Clicked elements will be shown on the right sidebar
- Drag them around to change the order!

```
npm run electron:serve
```
- 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'/>

#### Editing Components

- Edit components by double clicking for the edit modal to show
- 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

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

#### Adding Routes/Projects

- 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

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

#### Tree View of Application Architecture

## Features
<p align="center">
<img width="1000" src="src/assets/tree-demo.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!
- Once you're satisfied, click the export project icon to export your awesome project as new Vue application!

- Create components using 'Create a Component' form
- Edit components by double clicking on them
- Add standard html elements to template of a component that is created or being edited
- Draggable editing of component HTML template code structure
- Live updating of component HTML template code structure display
- Establish parent-child component relationships via dropdown menu when creating or editng components
- Create route components using 'Routes' form that allows for designing of multiple views of a SPA at once.
- Components will automatically save to the route that they are created in
- Display tree view of entire Vue application component architecture when tree icon on navbar is clicked
- Project Open/Save
- Hotkeys for opening and saving projects, and opening and closing tabs
- Export project as Vue application!
<img src='http://g.recordit.co/uFLqyjAnMm.gif'/>

### Code Exporting
##### Code Exporting

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

Expand All @@ -81,10 +118,38 @@ src/
- cmd/ctrl + s: save
- cmd/ctrl + o: open
- cmd/ctrl + n: new project tab
- cmd/ctrl + t: close 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
```

Install dependencies

```
npm i
```

Run electron app

```
npm run electron:serve
```

## Built With

---

- [Vue.js](https://vuejs.org/)
- [Vue Router](https://router.vuejs.org/guide/#html)
- [Vuex](https://vuex.vuejs.org/)
Expand All @@ -99,15 +164,21 @@ src/

## 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.

## Authors

---

- **Hubert Lin** [@hubelin](https://github.com/hubelin)
- **Franklin Pinnock** [@pinnockf](https://github.com/pinnockf)
- **Annette Lin** [@al2613](https://github.com/al2613)
- **Daniel Shu** [@danshuu](https://github.com/danshuu)

## License

---

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
3 changes: 0 additions & 3 deletions babel.config.js

This file was deleted.

Binary file added build/icon.ico
Binary file not shown.
32 changes: 0 additions & 32 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