Skip to content

Commit 024cc92

Browse files
authored
Merge pull request #115 from open-source-labs/dev
Team P-O-Vue OverVue 4.0 Launch
2 parents 900ad30 + 7281235 commit 024cc92

File tree

78 files changed

+60291
-36942
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+60291
-36942
lines changed

.env.example

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#DO NOT DELETE THIS FILE, and follow instructions:
2+
# Required for Slack Oauth features
3+
# Create TWO files, one named ".env" and the second named ".env.development" in this directory, and give them the following variables
4+
# Any environment variables you create MUST also be created here in .env.example
5+
6+
SLACK_CLIENT_SECRET = "ENTER_CLIENT_SECRET_HERE"
7+
SLACK_CLIENT_ID = "ENTER_CLIENT_ID_HERE"
8+
SLACK_REDIRECT_URI = "REDIRECT URL HERE"
9+
10+
# https://www.npmjs.com/package/dotenv
11+
# https://www.npmjs.com/package/quasar-dotenv
12+
# https://v1.quasar.dev/quasar-cli/handling-process-env
13+
# https://v1.quasar.dev/quasar-cli/quasar-conf-js#using-dotenv

.eslintrc.js

Lines changed: 55 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,55 @@
1-
/* eslint-disable max-len */
2-
module.exports = {
3-
root: true,
4-
5-
parserOptions: {
6-
parser: 'babel-eslint',
7-
sourceType: 'module'
8-
},
9-
10-
env: {
11-
browser: true
12-
},
13-
14-
extends: [
15-
// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
16-
// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
17-
'plugin:vue/essential',
18-
'@vue/standard'
19-
],
20-
21-
// required to lint *.vue files
22-
plugins: ['vue'],
23-
24-
globals: {
25-
ga: true, // Google Analytics
26-
cordova: true,
27-
__statics: true,
28-
process: true
29-
},
30-
31-
// add your custom rules here
32-
rules: {
33-
// allow async-await
34-
'generator-star-spacing': 'off',
35-
// allow paren-less arrow functions
36-
'arrow-parens': 'off',
37-
'one-var': 'off',
38-
39-
'import/first': 'off',
40-
'import/named': 'error',
41-
'import/namespace': 'error',
42-
'import/default': 'error',
43-
'import/export': 'error',
44-
'import/extensions': 'off',
45-
'import/no-unresolved': 'off',
46-
'import/no-extraneous-dependencies': 'off',
47-
'prefer-promise-reject-errors': 'off',
48-
// allow console.log during development only
49-
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
50-
// allow debugger during development only
51-
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
52-
}
53-
}
1+
/* eslint-disable max-len */
2+
module.exports = {
3+
root: true,
4+
5+
parserOptions: {
6+
parser: 'babel-eslint',
7+
sourceType: 'module'
8+
},
9+
10+
env: {
11+
browser: true
12+
},
13+
14+
extends: [
15+
// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
16+
// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
17+
'plugin:vue/essential',
18+
'@vue/standard'
19+
],
20+
21+
// required to lint *.vue files
22+
plugins: ['vue'],
23+
24+
globals: {
25+
ga: true, // Google Analytics
26+
cordova: true,
27+
__statics: true,
28+
process: true
29+
},
30+
31+
// add your custom rules here
32+
rules: {
33+
// allow async-await
34+
'generator-star-spacing': 'off',
35+
// allow paren-less arrow functions
36+
'arrow-parens': 'off',
37+
'one-var': 'off',
38+
'semi': 'off',
39+
'quotes': 'off',
40+
'space-before-function-paren': 'off',
41+
'import/first': 'off',
42+
'import/named': 'error',
43+
'import/namespace': 'error',
44+
'import/default': 'error',
45+
'import/export': 'error',
46+
'import/extensions': 'off',
47+
'import/no-unresolved': 'off',
48+
'import/no-extraneous-dependencies': 'off',
49+
'prefer-promise-reject-errors': 'off',
50+
// allow console.log during development only
51+
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
52+
// allow debugger during development only
53+
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
54+
}
55+
}

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#
2+
.env
3+
.env.development
4+
#
15
.quasar
26
.DS_Store
37
.thumbs.db
@@ -12,7 +16,7 @@ npm-debug.log*
1216
yarn-debug.log*
1317
yarn-error.log*
1418
/coverage
15-
package-lock.json
19+
# package-lock.json
1620
vetur.config.js
1721

1822
# Editor directories and files

.graphqlconfig.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
projects:
2+
prevue2:
3+
schemaPath: src/graphql/schema.json
4+
includes:
5+
- src/graphql/**/*.js
6+
excludes:
7+
- ./amplify/**
8+
extensions:
9+
amplify:
10+
codeGenTarget: javascript
11+
generatedFileName: ''
12+
docsFilePath: src/graphql

.vsls.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"$schema": "http://json.schemastore.org/vsls",
3+
"gitignore":"none"
4+
}

Overvue.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#include <iostream>
2+
3+
void say_hello(){
4+
std::cout << "Hello, from Overvue!\n";
5+
}

README.md

Lines changed: 87 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,14 @@
1717
* [Features](#features)
1818
* [OverVue 2.0 Changelog](#changelog-20)
1919
* [OverVue 3.0 Changelog](#changelog-30)
20+
* [OverVue 4.0 Changelog](#changelog-40)
2021
* [Tutorial](#how-to-use)
2122
+ [New Features Tutorial 2.0](#overvue-v20-how-to)
2223
+ [New Features Tutorial 3.0](#overvue-v30-how-to)
23-
* [How to Run](#running-a-local-version)
24+
* [Installation](#installation)
25+
+ [General Installation](#installation)
26+
+ [For WSL](#wsl-installation)
27+
+ [For Slack OAuth](#slack-oauth)
2428
* [Contributing](#contributing)
2529
* [Authors](#authors)
2630

@@ -80,6 +84,24 @@
8084
</ul>
8185
</details>
8286

87+
[↥Back to top](#table-of-contents)
88+
### Changelog 4.0
89+
<details><summary>OverVue 4.0</summary>
90+
<ul>
91+
<li>Integrated Slack through a Slack Login button to link user's slack channel to their OverVue instance</li>
92+
<li>After logging in with Slack, user's have the ability to send a message to their selected Slack channel after saving</li>
93+
<li>Implemented the ability to delete State and Actions from the store</li>
94+
<li>Added the feature to quickly copy/paste Components through hotkeys</li>
95+
<li>Reworked the interface to give users a more intuitive experience</li>
96+
<li>Moved bottom dashboard to the right</li>
97+
<li>Features on the left are geared toward creation/editing components</li>
98+
<li>Features on the right are geared toward viewing overall hierarchy of App Prototype</li>
99+
<li>Component Editor menu now switches between create/edit mode depending on if a Component is selected</li>
100+
<li>Vuex Store and Actions now moved to left menu with ability to view/create/delete state and actions</li>
101+
<li>Implemented Vue Devtools for development ease</li>
102+
</ul>
103+
</details>
104+
83105
[↥Back to top](#table-of-contents)
84106

85107
## How to use
@@ -157,7 +179,10 @@ package.json
157179

158180
[↥Back to top](#table-of-contents)
159181

160-
### Running a local version
182+
### Installation
183+
184+
To download the development version, please visit https://www.Overvue.io
185+
161186
This app was developed using the Quasar framework, so first you will need to install the Quasar cli
162187
```
163188
npm i -g @quasar/cli
@@ -166,28 +191,78 @@ Install dependencies
166191
```
167192
npm i
168193
```
194+
To open Vuejs devtools (devtools should be open before devmode, otherwise, you can justforce reload electron app in dev mode after opening dev tools)
195+
```
196+
./node_modules/.bin/vue-devtools
197+
```
169198
To run electron app in dev mode
170199
```
171200
quasar dev -m electron
172201
```
173-
**For WSL users, the ability to load the application requires a tool/application to run a linux display as WSL does not have any display drivers
174-
since it is based off of just a CLI.
175-
I recommend X410 (https://www.microsoft.com/en-us/p/x410/9nlp712zmn9q), althought it does cost $10, for ease of use. There are free options such as VcXsrv(https://sourceforge.net/projects/vcxsrv/) that you can get, but require more set up.**
176-
177202
To build a new .dmg / windows .exe
178203
```
179204
quasar build -m electron
180205
```
206+
### WSL Installation
207+
208+
**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.
209+
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.**
210+
211+
If you choose to use x410, you will need to set the environment DISPLAY variable on each console:
212+
213+
So, to open either the Vue devtools or OverVue in dev mode, first start your X Server then enter into the terminal:
214+
For WSL 1 :
215+
```
216+
export DISPLAY=:0
217+
```
218+
For WSL 2 :
219+
```
220+
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
221+
export LIBGL_ALWAYS_INDIRECT=1
222+
```
223+
followed by the command for the devtools or devmode. If you want both open, enter commands above followed by starting the devtools:
224+
```
225+
./node_modules/.bin/vue-devtools
226+
```
227+
Then open a new terminal instance, set the DISPLAY value again (re-enter above command for DISPLAY), and start OverVue in dev mode:
228+
```
229+
quasar dev -m electron
230+
```
231+
232+
### Slack OAuth
233+
234+
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).
235+
236+
1. Create a Slack App from the link above. Copy your Client ID and Client Secret somewhere safe.
237+
2. Create two .env files in the main root of this repository. Name them:
238+
```
239+
.env
240+
.env.development
241+
```
242+
3. Open .env and add these three environment variables. Replace <client secret> and <client id> with the client id and client secret given to you when you created your Slack App.
243+
```
244+
SLACK_CLIENT_SECRET = "<client secret>"
245+
SLACK_CLIENT_ID = "<client id>"
246+
SLACK_REDIRECT_URI = "overvue://slack"
247+
```
248+
4. Next, open .env.development and do the same, just note that the SLACK_REDIRECT_URI will be different here:
249+
```
250+
SLACK_CLIENT_SECRET = "<client secret>"
251+
SLACK_CLIENT_ID = "<client id>"
252+
SLACK_REDIRECT_URI = "overvuedev://test"
253+
```
181254

182255
[↥Back to top](#table-of-contents)
183256

184257
### Contributing
185258
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.
186259
Here are some features we're thinking about adding:
260+
+
261+
+
262+
+
187263
+ Option to export files in TypeScript
188264
+ Ability to place child components into HTML elements
189265
+ Integration with Storybook
190-
+ Ability to add a copy of an existing component from one route to another
191266
+ Edit State and Actions in the Vuex Store
192267

193268
If you make changes and wish to update the website, here is the link to the repo: https://github.com/TeamOverVue/OverVuePage
@@ -209,6 +284,11 @@ Sean Grace @ziggrace
209284
Nicholas Schillaci @schillaci767
210285
Terry Tilley @codeByCandlelight
211286
Faraz Moallemi @farazmoallemi
287+
Alex Lu @aleckslu
288+
Jeffrey Sul @jeffreysul
289+
Kenny Lee @kennyea
290+
Ryan Bender @rdbender
291+
Sonny Nguyen @sn163
212292
213293
```
214294
Inspired by [PreVue](https://github.com/open-source-labs/PreVue)

amplify/.config/project-config.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"projectName": "PreVue2",
3+
"version": "2.0",
4+
"frontend": "javascript",
5+
"javascript": {
6+
"framework": "none",
7+
"config": {
8+
"SourceDir": "src",
9+
"DistributionDir": "dist/pwa",
10+
"BuildCommand": "quasar build -m pwa",
11+
"StartCommand": "quasar serve --history dist/pwa"
12+
}
13+
},
14+
"providers": [
15+
"awscloudformation"
16+
]
17+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"AppSyncApiName": "prevue2",
3+
"DynamoDBBillingMode": "PAY_PER_REQUEST",
4+
"AuthCognitoUserPoolId": {
5+
"Fn::GetAtt": [
6+
"authprevue22d2bb648",
7+
"Outputs.UserPoolId"
8+
]
9+
}
10+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
type Todo @model @searchable @auth(rules: [{ allow: owner }]) {
3+
id: ID!
4+
name: String!
5+
owner: String
6+
date: AWSDate
7+
description: String
8+
completed: Boolean!
9+
}

0 commit comments

Comments
 (0)