Skip to content

Commit d00831c

Browse files
Merge branch 'dev' into talha/feedback-fixes
2 parents 84d9929 + 3db292b commit d00831c

40 files changed

+2277
-108
lines changed

.prettierrc.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
module.exports = {
2-
semi: true,
3-
trailingComma: 'all',
4-
singleQuote: true,
5-
tabWidth: 2,
6-
};
1+
module.exports = {
2+
semi: true,
3+
trailingComma: 'all',
4+
singleQuote: true,
5+
tabWidth: 2,
6+
endOfLine: 'auto',
7+
};

README.md

Lines changed: 44 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
·
3333
<a href="#-meet-the-team">Meet the Team</a>
3434
<br />
35-
🎉 Version 0.0.1 is out. Check out the release notes
35+
🎉 Version 0.1.0 is out. Check out the release notes
3636
<a href="https://github.com/zenml-io/zenml-dashboard/releases">here</a>.
3737
<br />
3838
<br />
@@ -45,6 +45,36 @@
4545
</p>
4646
</div>
4747

48+
<!-- TABLE OF CONTENTS -->
49+
<details>
50+
<summary>🏁 Table of Contents</summary>
51+
<ol>
52+
<li>
53+
<a href="#-getting-started">⚡ Getting Started</a>
54+
<ul>
55+
<li><a href="#-installation">🔋 Installation</a></li>
56+
<li><a href="#-relationship-with-zenml">👨‍👦 Relationship with ZenML</a></li>
57+
<li><a href="#-deploying-the-dashboard">🪐 Deploying the dashboard</a></li>
58+
</ul>
59+
</li>
60+
<li>
61+
<a href="#-user-experience">🏄 User Experience</a>
62+
<ul>
63+
<li><a href="#-log-in">🔐 Log In</a></li>
64+
<li><a href="#-home-page">🏠 Home Page</a></li>
65+
<li><a href="#-pipelines-stacks-and-components">🗂 Pipelines, Stacks, and Components</a></li>
66+
</ul>
67+
</li>
68+
<li><a href="#-contributing">🙌 Contributing</a></li>
69+
<li><a href="#-meet-the-team">👩‍👩‍👧‍👦 Meet the Team</a></li>
70+
<li><a href="#-getting-help">🆘 Getting Help</a></li>
71+
<li><a href="#-license">📜 License</a></li>
72+
</ol>
73+
</details>
74+
75+
<br />
76+
77+
4878
# ⚡ Getting Started
4979

5080
## 🔋 Installation
@@ -91,21 +121,23 @@ Which will serve the dashboard with the server at `http://localhost:8080`, with
91121

92122
## 👨‍👦 Relationship with ZenML
93123

94-
The ZenML Dashboard is a Javascript React-based application that lives inside this repository, which is a sister repository of the main [ZenML Python package repo](https://github.com/zenml-io/zenml).
124+
The ZenML Dashboard is a Javascript React-based application that lives inside this repository, which is a sister repository of the main [ZenML Python package repo](https://github.com/zenml-io/zenml).
125+
126+
> **Note** - The ZenML Dashboard is meant to be used with the ZenML Server as a backend and cannot be used standalone.
95127
96128
The dashboard build files come bundled into the [ZenML PyPi package](https://pypi.org/project/zenml/) and can be [served locally](https://docs.zenml.io/getting-started/deploying-zenml/using-cli.md) and/or [deployed on the cloud](https://docs.zenml.io/getting-started/deploying-zenml/deployment.md) through the main ZenML python package.
97129

98-
Basically, each ZenML python package comes with the build files (generated by `yarn build`) of a certain version of this dashboard (all build files of the dashboard can be seen in the releases section of this github). Therefore, each ZenML pypi package has bundled in it a corresponding version of this dashboard.
130+
Basically, each ZenML `Python` package comes with the build files (generated by `yarn build`) of a certain version of this dashboard (all build files of the dashboard can be seen in the [releases](https://github.com/zenml-io/zenml-dashboard/releases) section of this GitHub repo). Therefore, each ZenML PyPi package has bundled in it a corresponding version of this dashboard.
99131

100-
With the python package, you can then serve these static build files by doing:
132+
With the `Python` package, you can then serve these static build files by doing:
101133

102134
```
103135
zenml up
104136
```
105137

106138
![img](./assets/zenml-up.gif)
107139

108-
Which creates a local daemon that serves the files in a FastAPI server!
140+
Which creates a local daemon that serves the files in a [FastAPI](https://github.com/tiangolo/fastapi) server!
109141

110142
## 🪐 Deploying the dashboard
111143

@@ -121,16 +153,16 @@ However, the option to deploy standalone is also available. `yarn build` creates
121153

122154
Just don't forget to the set the `REACT_APP_BASE_API_URL` environment variable!
123155

124-
# :bowtie: User Experience
156+
# 🏄 User Experience
125157

126-
## Log In
158+
## 🔐 Log In
127159

128160
![img](./assets/screenshot-login.png)
129161

130-
## Home Page
162+
## 🏠 Home Page
131163
![img](./assets/screenshot-home.png)
132164

133-
## Pipelines, Stacks and Components
165+
## 🗂 Pipelines, Stacks and Components
134166
![img](./assets/dashboard.gif)
135167

136168

@@ -148,20 +180,12 @@ Guide](CONTRIBUTING.md) for all relevant details.
148180

149181
![Meet the Team](./assets/community_meetup.png)
150182

151-
Have a question that's too hard to express on our Slack? Is it just too much effort to say everything on a
152-
long GitHub issue? Or are you just curious about what ZenML has been up to in the past week?
153-
154-
Well, register now for the ZenML Meet the Community session to get your answers!
155-
It's free and open to everyone.
156-
157183
Every week, the ZenML [core team](https://zenml.io/company#CompanyTeam) will pop in for 30 minutes to interact directly with the community.
158184
Sometimes we'll be presenting a feature, other times we'll take questions and have fun.
159185

160-
Join us if you are curious about ZenML, or just want to talk shop about MLOps.
186+
[Register now](https://zenml.io/meet) for the ZenML Meet the Community session. It's free and open to everyone.
161187

162-
We will host the gathering every Wednesday 8:30AM PT (5:30PM CET).
163-
Register now through [this link](https://www.eventbrite.com/e/zenml-meet-the-community-tickets-354426688767),
164-
or subscribe to the [public events calendar](https://calendar.google.com/calendar/u/0/r?cid=Y19iaDJ0Zm44ZzdodXBlbnBzaWplY3UwMmNjZ0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to get notified
188+
Or subscribe to our [public events calendar](https://calendar.google.com/calendar/u/0/r?cid=Y19iaDJ0Zm44ZzdodXBlbnBzaWplY3UwMmNjZ0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to get notified
165189
before every community gathering.
166190

167191
# 🆘 Getting Help
@@ -173,7 +197,7 @@ By far the easiest and fastest way to get a response is to:
173197

174198
# 📜 License
175199

176-
`zenml-dashboard` is distributed under the terms of the Apache License Version 2.0.
200+
ZenML Dashboard is distributed under the terms of the Apache License Version 2.0.
177201
A complete version of the license is available in the [LICENSE](LICENSE) file in
178202
this repository. Any contribution made to this project will be licensed under
179203
the Apache License Version 2.0.

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"@testing-library/user-event": "^12.1.0",
1212
"@types/classnames": "^2.2.10",
1313
"@types/country-list": "^2.1.0",
14+
"@types/dagre": "^0.7.48",
1415
"@types/jest": "^26.0.8",
1516
"@types/lodash": "^4.14.158",
1617
"@types/node": "^14.0.27",
@@ -28,6 +29,7 @@
2829
"bootstrap": "^4.5.0",
2930
"classnames": "^2.2.6",
3031
"country-list": "^2.2.0",
32+
"dagre": "^0.8.5",
3133
"date-fns": "^2.15.0",
3234
"eslint-import-resolver-babel-module": "^5.1.2",
3335
"eslint-plugin-react-hooks": "^4.0.8",
@@ -41,6 +43,7 @@
4143
"react-bootstrap": "^1.3.0",
4244
"react-datepicker": "^4.8.0",
4345
"react-dom": "^16.13.1",
46+
"react-flow-renderer": "^10.3.16",
4447
"react-outside-click-handler": "^1.3.0",
4548
"react-redux": "^7.2.1",
4649
"react-router-dom": "^5.2.0",
@@ -81,12 +84,14 @@
8184
"devDependencies": {
8285
"@typescript-eslint/eslint-plugin": "^3.7.1",
8386
"@typescript-eslint/parser": "^3.7.1",
87+
"autoprefixer": "^10.4.8",
8488
"babel-plugin-inline-react-svg": "^1.1.1",
8589
"eslint-config-prettier": "^6.11.0",
8690
"eslint-plugin-import": "^2.22.0",
8791
"eslint-plugin-prettier": "^3.1.4",
8892
"eslint-plugin-react": "^7.20.5",
8993
"eslint-plugin-redux-saga": "^1.1.3",
94+
"postcss": "^8.4.16",
9095
"prettier": "^2.0.5",
9196
"react-hooks-testing-library": "^0.6.0",
9297
"react-test-renderer": "^16.13.1"

postcss.config.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
plugins: {
3+
tailwindcss: {},
4+
autoprefixer: {},
5+
},
6+
}

src/App.css

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313
src: url('./ui/assets/SourceCodePro-Regular.ttf') format('truetype');
1414
}
1515

16-
html , #root, body, .App {
16+
html,
17+
#root,
18+
body,
19+
.App {
1720
height: 100%;
1821
-webkit-tap-highlight-color: transparent;
1922
}
@@ -23,11 +26,13 @@ html {
2326
box-sizing: border-box;
2427
}
2528

26-
*, *:before, *:after {
29+
*,
30+
*:before,
31+
*:after {
2732
box-sizing: inherit;
2833
}
2934

3035
.container-fluid {
3136
padding-left: 0;
3237
padding-right: 0;
33-
}
38+
}

src/index.css

Lines changed: 118 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,134 @@
1-
html, body, div, span, applet, object, iframe,
2-
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
3-
a, abbr, acronym, address, big, cite, code,
4-
del, dfn, em, img, ins, kbd, q, s, samp,
5-
small, strike, strong, sub, sup, tt, var,
6-
b, u, i, center,
7-
dl, dt, dd, ol, ul, li,
8-
fieldset, form, label, legend,
9-
table, caption, tbody, tfoot, thead, tr, th, td,
10-
article, aside, canvas, details, embed,
11-
figure, figcaption, footer, header, hgroup,
12-
menu, nav, output, ruby, section, summary,
13-
time, mark, audio, video {
14-
margin: 0;
15-
padding: 0;
16-
border: 0;
17-
font-size: 100%;
18-
font: inherit;
19-
vertical-align: baseline;
1+
html,
2+
body,
3+
div,
4+
span,
5+
applet,
6+
object,
7+
iframe,
8+
h1,
9+
h2,
10+
h3,
11+
h4,
12+
h5,
13+
h6,
14+
p,
15+
blockquote,
16+
pre,
17+
a,
18+
abbr,
19+
acronym,
20+
address,
21+
big,
22+
cite,
23+
code,
24+
del,
25+
dfn,
26+
em,
27+
img,
28+
ins,
29+
kbd,
30+
q,
31+
s,
32+
samp,
33+
small,
34+
strike,
35+
strong,
36+
sub,
37+
sup,
38+
tt,
39+
var,
40+
b,
41+
u,
42+
i,
43+
center,
44+
dl,
45+
dt,
46+
dd,
47+
ol,
48+
ul,
49+
li,
50+
fieldset,
51+
form,
52+
label,
53+
legend,
54+
table,
55+
caption,
56+
tbody,
57+
tfoot,
58+
thead,
59+
tr,
60+
th,
61+
td,
62+
article,
63+
aside,
64+
canvas,
65+
details,
66+
embed,
67+
figure,
68+
figcaption,
69+
footer,
70+
header,
71+
hgroup,
72+
menu,
73+
nav,
74+
output,
75+
ruby,
76+
section,
77+
summary,
78+
time,
79+
mark,
80+
audio,
81+
video {
82+
margin: 0;
83+
padding: 0;
84+
border: 0;
85+
font-size: 100%;
86+
font: inherit;
87+
vertical-align: baseline;
2088
}
2189

2290
/* HTML5 display-role reset for older browsers */
23-
article, aside, details, figcaption, figure,
24-
footer, header, hgroup, menu, nav, section {
25-
display: block;
91+
article,
92+
aside,
93+
details,
94+
figcaption,
95+
figure,
96+
footer,
97+
header,
98+
hgroup,
99+
menu,
100+
nav,
101+
section {
102+
display: block;
26103
}
27104
body {
28-
line-height: 1;
105+
line-height: 1;
29106
}
30-
ol, ul {
31-
list-style: none;
107+
ol,
108+
ul {
109+
list-style: none;
32110
}
33-
blockquote, q {
34-
quotes: none;
111+
blockquote,
112+
q {
113+
quotes: none;
35114
}
36-
blockquote:before, blockquote:after,
37-
q:before, q:after {
38-
content: '';
39-
content: none;
115+
blockquote:before,
116+
blockquote:after,
117+
q:before,
118+
q:after {
119+
content: '';
120+
content: none;
40121
}
41122
table {
42-
border-collapse: collapse;
43-
border-spacing: 0;
123+
border-collapse: collapse;
124+
border-spacing: 0;
44125
}
45126

46127
html {
47-
font-size: 8px;
128+
font-size: 8px;
48129
}
49130

50131
.__PrivateStripeElement {
51-
top: 50%;
52-
transform: translateY(-50%);
53-
}
132+
top: 50%;
133+
transform: translateY(-50%);
134+
}

src/routes/appRoutesConfig.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,4 +394,4 @@ const routes = [
394394
},
395395
];
396396

397-
export const appRoutesConfig = [...routes] as RouteInterface[];
397+
export const appRoutesConfig = [...routes] as RouteInterface[];

0 commit comments

Comments
 (0)