Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feathr Web UI MVP #216

Merged
merged 27 commits into from
May 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e219d2d
Init react based feathr ui code (#1)
blrchen Mar 30, 2022
2125737
Enables continues integration and deployment to cloud for ui app (#3)
blrchen Mar 31, 2022
dae5fc5
Add UI landing page
blrchen Apr 7, 2022
a4fcb8a
Workaround for CI treat warning as error
blrchen Apr 7, 2022
ba8f242
Enable client side route in Azure Static Web App
blrchen Apr 7, 2022
a171418
Code clean up
blrchen Apr 10, 2022
f2ae064
Code clean up
blrchen Apr 10, 2022
3fb99ef
Enable eslint rules
blrchen Apr 11, 2022
e8c9f00
Update README.md
blrchen Apr 12, 2022
fb9886b
Fix CI error
blrchen Apr 12, 2022
0d0ac94
Add data source mockup page
blrchen Apr 12, 2022
dfbfad4
Enable Azure AD login
blrchen Apr 14, 2022
a2eade0
Merge branch 'linkedin:main' into main
blrchen Apr 18, 2022
a3ceffd
Merge branch 'main' into blair/landing-page
blrchen Apr 18, 2022
c0cf941
Complete api integration
blrchen Apr 21, 2022
0829447
Complete api integration
blrchen Apr 21, 2022
00e71a3
Show lineage in feature detail page
blrchen Apr 21, 2022
8c433bc
Resolve demo review comments
blrchen Apr 21, 2022
cc45acb
Update page title
blrchen Apr 22, 2022
13e7611
Add lineage UI page
blrchen May 4, 2022
ba4e605
Update Web UI CICD file name and secret name
blrchen May 5, 2022
48e8a88
Workaround for PR from forked branch can not access main repo's secret
blrchen May 5, 2022
8870cec
Workaround for PR from forked branch can not access main repo's secret
blrchen May 5, 2022
2adc13f
Resolve code review comments
blrchen May 5, 2022
0ca7f07
Test use main repo's secret
blrchen May 5, 2022
3940aca
Revert "Test use main repo's secret"
blrchen May 5, 2022
7fbe247
Remove two more hard codings
blrchen May 5, 2022
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
47 changes: 47 additions & 0 deletions .github/workflows/feature-web-ui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Feathr Web UI CI/CD on Azure Web App

on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- main

jobs:
build_and_deploy_job:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_DEPLOYMENT_TOKEN_FEATHR_UI }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
skip_deploy_on_missing_secrets: true
action: "upload"
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/ui" # App source code path
api_location: "api" # Api source code path - optional
output_location: "build" # Built app content directory - optional
###### End of Repository/Build Configurations ######

close_pull_request_job:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
name: Close Pull Request Job
steps:
- name: Close Pull Request
id: closepullrequest
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_DEPLOYMENT_TOKEN_FEATHR_UI }}
skip_deploy_on_missing_secrets: true
action: "close"
28 changes: 28 additions & 0 deletions ui/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
blrchen marked this conversation as resolved.
Show resolved Hide resolved
"env": {
"commonjs": true,
"es6": true,
"node": true
},
"extends": [
// https://github.com/eslint/eslint/blob/main/conf/eslint-recommended.js
"eslint:recommended",
// https://github.com/facebook/create-react-app/tree/main/packages/eslint-config-react-app
"react-app"
],
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
},
"rules": {
"dot-notation": "error"
},
"overrides": [
{
"files": [
"**/*.ts?(x)"
],
"rules": {}
}
]
}
23 changes: 23 additions & 0 deletions ui/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
46 changes: 46 additions & 0 deletions ui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Feathr UI

This is Feathr web ui frontend code

## Prerequisites
Install the latest version of [NodeJS](https://nodejs.org/en/) LTS v14.x or v16.x. Make sure to use npm no later than 6.x. Run **node --version** and **npm --version** to verify installed versions.

## Build and run locally

Each command in this section should be run from the root directory of the repository.

Open terminal, go to root of this repository and run following commands.

```bash
cd ui
npm install
blrchen marked this conversation as resolved.
Show resolved Hide resolved
npm start
```

This should launch [http://localhost:3000/](http://localhost:3000/) on your web browser. The page will reload when you make code changes and save.

## Deploying

For deployment, run `npm run build` and upload `build/` to your server. Docker image based deployment is coming soon.

## Lint

To lint typescript code files, sim run:
```bash
npm run lint:fix
```

This command will Automatically fix all problems that can be fixed, and list the rest problems requires manual fix.
Linting rules are configured in [.eslintrc](.eslintrc) file.

## Project Structure

```
src/
api // rest client
components // shared react components
models // api data model, view model, etc
pages // a view on the page, can be routed by url path
router // url path and page mapping
```

Loading