Skip to content

Commit

Permalink
Merge pull request #444 from cornell-dti/master
Browse files Browse the repository at this point in the history
Public Release v1.0.0
  • Loading branch information
tcho6319 authored Apr 4, 2021
2 parents 347e7f2 + 93aae96 commit 56c52f8
Show file tree
Hide file tree
Showing 280 changed files with 181,231 additions and 24,217 deletions.
87 changes: 43 additions & 44 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,90 +2,89 @@

module.exports = {
root: true,
extends: ['eslint:recommended', 'plugin:vue/essential', '@vue/airbnb', '@vue/typescript', 'plugin:import/typescript'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:vue/recommended',
'@vue/airbnb',
'@vue/typescript',
'plugin:import/typescript',
'prettier',
'prettier/vue',
],
plugins: ['@typescript-eslint'],
parserOptions: {
parser: '@typescript-eslint/parser',
ecmaVersion: 2020,
sourceType: 'module',
extraFileExtensions: ['.vue'],
project: ['./tsconfig.json', './tsconfig.node.json']
project: ['./tsconfig.json', './tsconfig.node.json'],
},
env: {
browser: true,
node: true
node: true,
},
// add your custom rules here
rules: {
// TODO: change no-console to error out for prod
'@typescript-eslint/ban-ts-comment': ['error'],
'vue/attribute-hyphenation': ['off'],
// TODO: auto-fix of this and the next rule introduces too many code changes that might cause merge conflict.
'vue/attributes-order': ['off'],
'vue/order-in-components': ['off'],
'vue/no-v-html': ['error'],
'no-console': ['warn'],
// TODO: fix copied js code that makes this warn necessary
'no-use-before-define': ['warn'],
'linebreak-style': 0,
//TODO: make requests asynchronous
'no-await-in-loop': ['error'],
// don't require .vue extension when importing
'import/extensions': [
'error',
'always',
{
js: 'never',
ts: 'never',
vue: 'never'
}
],
// disallow reassignment of function parameters
// disallow parameter object manipulation except for specific exclusions
'no-param-reassign': [2, { props: false }],
'no-param-reassign': ['error', { props: false }],
// allow optionalDependencies
'import/no-extraneous-dependencies': [
'error',
{
optionalDependencies: ['test/unit/index.js']
}
optionalDependencies: ['test/unit/index.js'],
},
],
'no-mixed-operators': ['off'],
'arrow-parens': ['error', 'as-needed'],
'comma-dangle': ['error', 'never'],
'no-continue': ['error'],
'no-restricted-syntax': [
'error',
{
selector: 'LabeledStatement',
message:
'Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.'
'Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.',
},
{
selector: 'WithStatement',
message:
'`with` is disallowed in strict mode because it makes code impossible to predict and optimize.'
}
'`with` is disallowed in strict mode because it makes code impossible to predict and optimize.',
},
],
quotes: [
'max-classes-per-file': ['off'],
// TypeScript will handle it. It also doesn't work with typescript global types.
'no-undef': ['off'],
'@typescript-eslint/no-unused-vars': [
'error',
'single',
{
allowTemplateLiterals: true
}
{ vars: 'all', args: 'after-used', ignoreRestSiblings: true },
],
'max-len': ['error', { code: 200 }],
'no-use-before-define': ['off'],
'vue/no-mutating-props': ['warn'],
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
},
overrides: [
{
files: ['*.ts', '*.tsx'],
files: ['*.ts', '*.tsx', '*.vue'],
rules: {
'import/extensions': [
'error',
'always',
{
js: 'never',
ts: 'never',
vue: 'always'
}
]
}
vue: 'always',
},
],
},
},
{
files: ['*.js'],
Expand All @@ -96,10 +95,10 @@ module.exports = {
{
js: 'never',
ts: 'never',
vue: 'never'
}
]
}
}
]
vue: 'never',
},
],
},
},
],
};
2 changes: 1 addition & 1 deletion .firebaserc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"projects": {
"default": "cornell-courseplan",
"default": "cornelldti-courseplan-dev",
"staging": "cornelldti-courseplan-dev",
"production": "cornell-courseplan"
}
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# Auto detect text files and perform LF normalization
* text=auto
src/requirements/decorated-requirements.json linguist-generated=true
21 changes: 20 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,19 @@
This pull request is the first step towards implementing feature Foo

- [x] implemented X
- [ ] fixed Y
- [x] fixed Y

<!--- Itemize any relevant remaining TODOs (especially for WIP PRs) here and on Notion -->

Remaining TODOs:

- [ ] resolve bug 1
- [ ] implement Z

<!--- Note dependencies on other PRs if any. -->

Depends on #{number of PR}


### Test Plan <!-- Required -->

Expand All @@ -18,8 +30,15 @@ This pull request is the first step towards implementing feature Foo

<!--- List any important or subtle points, future considerations, or other items of note. -->

### Blockers <!-- Optional -->

<!--- Note and itemize any blockers (especially for WIP PRs) here and on Notion -->

- A newly discovered dependency that hasn’t been addressed

### Breaking Changes <!-- Optional -->

<!-- Keep items that apply: -->

- Database schema change (anything that changes Firestore collection structure)
- Other change that could cause problems (Detailed in notes)
34 changes: 8 additions & 26 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,31 +13,13 @@ jobs:
- name: NPM Install
run: npm install
- name: Build
run: PUBLIC_URL="/course-plan/${{ github.event.number }}" npm run build:staging
- name: Upload Built Static Assets
uses: actions/upload-artifact@master
run: npm run build:staging
- uses: FirebaseExtended/action-hosting-deploy@v0
if: env.SECRET != null
with:
name: built-assets
path: dist
deploy:
runs-on: ubuntu-latest
needs: [build]
steps:
- name: Download Built Static Assets
uses: actions/download-artifact@master
with:
name: built-assets
path: ${{ github.event.number }}
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
keep_files: true
publish_dir: '.'
github_token: '${{ secrets.BOT_TOKEN }}'
- name: Comment on pull request
uses: cornell-dti/dti-repo-tools@master
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_CORNELLDTI_COURSEPLAN_DEV }}'
projectId: cornelldti-courseplan-dev
env:
BOT_TOKEN: '${{ secrets.BOT_TOKEN }}'
with:
command: pr-comment
argument: '[deployment-bot] Deployed to https://cornell-dti.github.io/course-plan/${{ github.event.number }}/index.html'
FIREBASE_CLI_PREVIEWS: hostingchannels
SECRET: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CORNELLDTI_COURSEPLAN_DEV }}
14 changes: 8 additions & 6 deletions .github/workflows/ci-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@ jobs:
steps:
- uses: actions/checkout@master
- name: Set up Node
uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: NPM Install
run: npm install
uses: actions/setup-node@v2-beta
- name: NPM Clean Install
run: npm ci
- name: Run Prettier Check
run: npm run format:check
- name: Run Linter
run: npm run lint
- name: Type Check
run: npm run tsc
run: npm run type-check
- name: Test
run: npm run test
23 changes: 0 additions & 23 deletions .github/workflows/cleanup-workflow.yml

This file was deleted.

5 changes: 0 additions & 5 deletions .prettierrc.js

This file was deleted.

64 changes: 62 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,81 @@
# CoursePlan

Access CoursePlan at [courseplan.io](http://courseplan.io "courseplan.io")
Access CoursePlan at [courseplan.io](http://courseplan.io 'courseplan.io')

CoursePlan is a four-year academic planner for Cornell undergraduates developed by the Design & Tech Initiative. CoursePlan helps undergraduates track their courses and their requirements automatically depending on their college, major, and minor. It aims to allow students view the big picture of their time at Cornell.

View documentation on updating requirements data.

## Project installation

```
npm install
```

## Run locally

```
npm run serve
```

Then access http://localhost:8080/

## Contributors

### SP21

- **Hahnbee Lee** - Developer
- **Will Spencer** - Developer
- **Jason Tung** - Developer
- **Nikita Kasumov** - Developer
- **Sam Zhou** - Developer
- **Ben Shen** - Developer
- **Yuxuan Chen** - Designer
- **Cristie Huang** - Designer
- **Theresa Cho** - TPM
- **Ein Chang** - PM

### FA2020

- **Hahnbee Lee** - Developer
- **Theresa Cho** - Developer
- **Rose Zhou** - Developer
- **Sam Zhou** - Developer
- **Ben Shen** - Developer
- **Ein Chang** - Developer/Designer
- **Yuxuan Chen** - Designer
- **Will Spencer** - TPM
- **Han Wang** - PM

### SP20

- **Theresa Cho** - Developer
- **Rose Zhou** - Developer
- **Ayesha Gagguturi** - Developer
- **Sam Zhou** - Developer
- **Ein Chang** - Developer/Designer
- **Emily Chan** - Designer
- **Yuxuan Chen** - Designer
- **Shane Yun** - Designer
- **Chris Lee** - Designer
- **Kathleen Xu** - PMM
- **Will Spencer** - TPM
- **Han Wang** - PM

### FA19

- **Theresa Cho** - Developer
- **Ayesha Gagguturi** - Developer
- **Bryant Lee** - Developer
- **Will Spencer** - Developer
- **Ein Chang** - Designer
- **Emily Chan** - Designer
- **Shane Yun** - Designer
- **Chris Lee** - Designer
- **Brandon Hong** - PMM
- **Boon Palipatana** - TPM
- **Han Wang** - PM

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

See [Configuration Reference](https://cli.vuejs.org/config/).
3 changes: 3 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: [['@babel/preset-env', { targets: { node: 'current' } }], '@babel/preset-typescript'],
};
10 changes: 6 additions & 4 deletions firebase.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@
"**/.*",
"**/node_modules/**"
],
"rewrites": [ {
"source": "**",
"destination": "/index.html"
}]
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
Loading

0 comments on commit 56c52f8

Please sign in to comment.