Skip to content

Commit 1e84673

Browse files
Merge branch 'main' into all-contributors/add-yashorri
2 parents acda32f + b95987b commit 1e84673

148 files changed

Lines changed: 4411 additions & 2987 deletions

File tree

Some content is hidden

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

.all-contributorsrc

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,10 @@
8787
"avatar_url": "https://avatars.githubusercontent.com/u/174823027?v=4",
8888
"profile": "https://github.com/lea100x",
8989
"contributions": [
90-
"eventOrganizing"
90+
"eventOrganizing",
91+
"content",
92+
"ideas",
93+
"projectManagement"
9194
]
9295
},
9396
{
@@ -180,6 +183,17 @@
180183
"doc"
181184
]
182185
},
186+
{
187+
"login": "lucy-dwr",
188+
"name": "Lucy Andrews",
189+
"avatar_url": "https://avatars.githubusercontent.com/u/182827155?v=4",
190+
"profile": "https://github.com/lucy-dwr",
191+
"contributions": [
192+
"maintenance",
193+
"content",
194+
"design"
195+
]
196+
},
183197
{
184198
"login": "kirstiejane",
185199
"name": "Kirstie Whitaker",
@@ -198,6 +212,25 @@
198212
"contributions": [
199213
"ideas"
200214
]
215+
},
216+
{
217+
"login": "amyawu",
218+
"name": "amyawu",
219+
"avatar_url": "https://avatars.githubusercontent.com/u/68081958?v=4",
220+
"profile": "https://github.com/amyawu",
221+
"contributions": [
222+
"ideas"
223+
]
224+
},
225+
{
226+
"login": "sufikaur",
227+
"name": "Sufi Kaur",
228+
"avatar_url": "https://avatars.githubusercontent.com/u/56102473?v=4",
229+
"profile": "https://github.com/sufikaur",
230+
"contributions": [
231+
"design",
232+
"ideas"
233+
]
201234
}
202235
]
203236
}

.github/workflows/main.yml

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,23 @@ on:
88
jobs:
99
frontend-lint:
1010
runs-on: ubuntu-22.04
11+
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
package:
16+
- packages/react-components
17+
- templates/base-app/frontend
18+
- templates/compare-data/frontend
19+
- templates/contribute-data/frontend
20+
- templates/explore-data/frontend
21+
- templates/monitor-activities/frontend
22+
- templates/run-computation/frontend
23+
- templates/search-data-repositories/frontend
24+
1125
defaults:
1226
run:
13-
working-directory: templates/base-app/frontend
27+
working-directory: ${{ matrix.package }}
1428
steps:
1529
- name: Checkout
1630
uses: actions/checkout@v4
@@ -21,14 +35,26 @@ jobs:
2135
- name: Install taskflow dependencies
2236
run: npm install
2337
- name: Run ESLint
24-
run: npm run lint:fix
38+
run: npm run lint
2539
- name: Run Prettier
26-
run: npm run prettier:fix
40+
if: ${{ matrix.package != 'packages/react-components' }}
41+
run: npm run prettier
2742
cypress-tests:
2843
runs-on: ubuntu-22.04
44+
strategy:
45+
fail-fast: false
46+
matrix:
47+
package:
48+
- templates/base-app/frontend
49+
- templates/compare-data/frontend
50+
- templates/contribute-data/frontend
51+
- templates/explore-data/frontend
52+
- templates/monitor-activities/frontend
53+
- templates/run-computation/frontend
54+
- templates/search-data-repositories/frontend
2955
defaults:
3056
run:
31-
working-directory: templates/base-app/frontend
57+
working-directory: ${{ matrix.package }}
3258
steps:
3359
- name: Checkout
3460
uses: actions/checkout@v4
@@ -40,3 +66,29 @@ jobs:
4066
working-directory: templates/base-app/frontend
4167
browser: chrome
4268
start: npm start
69+
backend-lint:
70+
runs-on: ubuntu-22.04
71+
strategy:
72+
fail-fast: false
73+
matrix:
74+
package:
75+
- templates/base-app/backend
76+
- templates/compare-data/backend
77+
- templates/contribute-data/backend
78+
- templates/explore-data/backend
79+
- templates/monitor-activities/backend
80+
- templates/run-computation/backend
81+
- templates/search-data-repositories/backend
82+
defaults:
83+
run:
84+
working-directory: ${{ matrix.package }}
85+
steps:
86+
- uses: actions/checkout@v4
87+
- name: Install uv
88+
uses: astral-sh/setup-uv@v7
89+
- name: Install dependencies
90+
run: uv sync --extra dev
91+
- name: Lint with ruff
92+
run: uv run ruff check .
93+
- name: Format with ruff
94+
run: uv run ruff format . --check

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ STRUDEL Kit welcomes contributions of all kinds! Learn how to submit suggestions
8484
<td align="center" valign="top" width="14.28%"><a href="https://github.com/oilsinwater"><img src="https://avatars.githubusercontent.com/u/23019793?v=4?s=100" width="100px;" alt="Philliph Drummond"/><br /><sub><b>Philliph Drummond</b></sub></a><br /><a href="#code-oilsinwater" title="Code">💻</a> <a href="#example-oilsinwater" title="Examples">💡</a></td>
8585
</tr>
8686
<tr>
87-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lea100x"><img src="https://avatars.githubusercontent.com/u/174823027?v=4?s=100" width="100px;" alt="Anh"/><br /><sub><b>Anh</b></sub></a><br /><a href="#eventOrganizing-lea100x" title="Event Organizing">📋</a></td>
87+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lea100x"><img src="https://avatars.githubusercontent.com/u/174823027?v=4?s=100" width="100px;" alt="Anh"/><br /><sub><b>Anh</b></sub></a><br /><a href="#eventOrganizing-lea100x" title="Event Organizing">📋</a> <a href="#content-lea100x" title="Content">🖋</a> <a href="#ideas-lea100x" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-lea100x" title="Project Management">📆</a></td>
8888
<td align="center" valign="top" width="14.28%"><a href="https://erioldoesdesign.github.io/"><img src="https://avatars.githubusercontent.com/u/11681324?v=4?s=100" width="100px;" alt="Eriol Fox"/><br /><sub><b>Eriol Fox</b></sub></a><br /><a href="#eventOrganizing-Erioldoesdesign" title="Event Organizing">📋</a></td>
8989
<td align="center" valign="top" width="14.28%"><a href="http://colliand.com"><img src="https://avatars.githubusercontent.com/u/1879041?v=4?s=100" width="100px;" alt="James Colliander"/><br /><sub><b>James Colliander</b></sub></a><br /><a href="#infra-colliand" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#projectManagement-colliand" title="Project Management">📆</a></td>
9090
<td align="center" valign="top" width="14.28%"><a href="https://oieltd.com"><img src="https://avatars.githubusercontent.com/u/1248413?v=4?s=100" width="100px;" alt="Angus Hollands"/><br /><sub><b>Angus Hollands</b></sub></a><br /><a href="#infra-agoose77" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
@@ -96,8 +96,13 @@ STRUDEL Kit welcomes contributions of all kinds! Learn how to submit suggestions
9696
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jlcohoon"><img src="https://avatars.githubusercontent.com/u/4965832?v=4?s=100" width="100px;" alt="Hannah Cohoon"/><br /><sub><b>Hannah Cohoon</b></sub></a><br /><a href="#research-jlcohoon" title="Research">🔬</a> <a href="#code-jlcohoon" title="Code">💻</a> <a href="#doc-jlcohoon" title="Documentation">📖</a></td>
9797
<td align="center" valign="top" width="14.28%"><a href="http://crd.lbl.gov/departments/data-science-and-technology/idf/staff/daniel-gunter/"><img src="https://avatars.githubusercontent.com/u/420923?v=4?s=100" width="100px;" alt="Dan Gunter"/><br /><sub><b>Dan Gunter</b></sub></a><br /><a href="#code-dangunter" title="Code">💻</a> <a href="#mentoring-dangunter" title="Mentoring">🧑‍🏫</a> <a href="#ideas-dangunter" title="Ideas, Planning, & Feedback">🤔</a></td>
9898
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ErinBecker"><img src="https://avatars.githubusercontent.com/u/19176319?v=4?s=100" width="100px;" alt="Erin Becker"/><br /><sub><b>Erin Becker</b></sub></a><br /><a href="#projectManagement-ErinBecker" title="Project Management">📆</a> <a href="#doc-ErinBecker" title="Documentation">📖</a></td>
99+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lucy-dwr"><img src="https://avatars.githubusercontent.com/u/182827155?v=4?s=100" width="100px;" alt="Lucy Andrews"/><br /><sub><b>Lucy Andrews</b></sub></a><br /><a href="#maintenance-lucy-dwr" title="Maintenance">🚧</a> <a href="#content-lucy-dwr" title="Content">🖋</a> <a href="#design-lucy-dwr" title="Design">🎨</a></td>
99100
<td align="center" valign="top" width="14.28%"><a href="https://github.com/KirstieJane"><img src="https://avatars.githubusercontent.com/u/3626306?v=4?s=100" width="100px;" alt="Kirstie Whitaker"/><br /><sub><b>Kirstie Whitaker</b></sub></a><br /><a href="#content-kirstiejane" title="Content">🖋</a> <a href="#ideas-kirstiejane" title="Ideas, Planning, & Feedback">🤔</a></td>
100101
<td align="center" valign="top" width="14.28%"><a href="https://github.com/yashorri"><img src="https://avatars.githubusercontent.com/u/260739294?v=4?s=100" width="100px;" alt="yashorri"/><br /><sub><b>yashorri</b></sub></a><br /><a href="#ideas-yashorri" title="Ideas, Planning, & Feedback">🤔</a></td>
102+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/amyawu"><img src="https://avatars.githubusercontent.com/u/68081958?v=4?s=100" width="100px;" alt="amyawu"/><br /><sub><b>amyawu</b></sub></a><br /><a href="#ideas-amyawu" title="Ideas, Planning, & Feedback">🤔</a></td>
103+
</tr>
104+
<tr>
105+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sufikaur"><img src="https://avatars.githubusercontent.com/u/56102473?v=4?s=100" width="100px;" alt="Sufi Kaur"/><br /><sub><b>Sufi Kaur</b></sub></a><br /><a href="#design-sufikaur" title="Design">🎨</a> <a href="#ideas-sufikaur" title="Ideas, Planning, & Feedback">🤔</a></td>
101106
</tr>
102107
</tbody>
103108
</table>

packages/react-components/.storybook/preview.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ const preview: Preview = {
77
order: [
88
'Getting Started',
99
['Introduction', 'Installation', 'Quickstart', 'Template Structure', 'Usage with AI', 'External Resources'],
10+
'Tutorials',
11+
['Get Started With Strudel', ['Introductions', 'Setup', 'Configure Taskflow', 'Customize Taskflow', 'Customize App', 'Customize Home Page', 'Continue Learning']],
1012
'Customization',
1113
['Connecting Data', 'Combining Sections', 'Connecting Task Flows', 'Columns'],
1214
'Components'
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { Meta } from "@storybook/addon-docs/blocks";
2+
3+
<Meta title="Tutorials/Get Started With Strudel/Introductions" />
4+
5+
# Tutorial Introduction
6+
7+
In this tutorial you will learn the basics of how to build a web application using the STRUDEL Task Flow templates. By the end you will have your own customized version of the [Explore Data Task Flow](https://strudel.science/design-system/task-flows/explore-data/) running in a web browser on your computer.
8+
9+
### Who is this tutorial for?
10+
11+
This tutorial is for anyone who wants to build a web user interface for their scientific software by starting with a STRUDEL Task Flow. It will deal with tools such as the command line, JavaScript, TypeScript, React, HTML, and CSS. Some experience with these tools will be important to follow along with the tutorial.
12+
13+
### Have feedback?
14+
15+
If you encounter any issues along the way or have feedback about how we can improve this tutorial, we would love to hear from you. Check out the tutorial's [feedback thread](https://github.com/orgs/strudel-science/discussions/50) on our GitHub Discussions page.
16+
17+
### Jump In
18+
19+
1. [Set Up Your Development Environment](/strudel-kit/docs/guides/tutorials/basic-app-with-strudel/setup)
20+
21+
Install all the prerequisite and core software that powers the STRUDEL Kit.
22+
23+
2. [Create a Base App with STRUDEL](/strudel-kit/docs/guides/tutorials/basic-app-with-strudel/create-app)
24+
25+
Get familiar with the STRUDEL CLI and generate the base scaffolding for a React app that uses the STRUDEL Design System.
26+
27+
3. [Add a Task Flow to Your App](/strudel-kit/docs/guides/tutorials/basic-app-with-strudel/add-taskflow)
28+
29+
Learn how to add Task Flows into your app and build your own custom configurations.
30+
31+
4. [Customize Your Task Flow](/strudel-kit/docs/guides/tutorials/basic-app-with-strudel/customize-taskflow)
32+
33+
Familiarize yourself with the Task Flow code and learn how to make changes that are important to your use case.
34+
35+
5. [Customize Your App](/strudel-kit/docs/guides/tutorials/basic-app-with-strudel/customize-app)
36+
37+
Make the app your own by changing the theme, adding styles, and adding custom sections.
38+
39+
6. [Customize the Home Page](/strudel-kit/docs/guides/tutorials/basic-app-with-strudel/customize-home-page)
40+
41+
Build out a home page for your application.
42+
43+
7. [Continue Learning](/strudel-kit/docs/guides/tutorials/basic-app-with-strudel/continue-learning)
44+
45+
Discover resources to help you continue developing applications with STRUDEL.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import { Meta } from "@storybook/addon-docs/blocks";
2+
3+
<Meta title="Tutorials/Get Started With STRUDEL/Setup" />
4+
5+
# Setup Your Project
6+
7+
The first step is to start a terminal program. The rest of this tutorial will assume you are using a standard MacOS, UNIX, or [Windows PowerShell](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4) (not command.exe) terminal. This ensures that all the command line steps follow the same syntax.
8+
9+
Then, make sure you have followed the instructions on the [Installation](/strudel-kit/docs/getting-started/installation) page so that you have node, npm, and npx installed on your system. You can confirm you have these tools using the commands below:
10+
11+
```
12+
node --version
13+
npm --version
14+
npx --version
15+
```
16+
17+
## Generate a New Project
18+
19+
Start a new project named `planets-app` using the strudel-kit code:
20+
21+
```
22+
npx degit strudel-science/strudel-kit planets-app
23+
```
24+
25+
Note that this may prompt you to install degit from npm. Make sure you click select "yes" to install it.
26+
27+
Once installed, this will generate a new folder called `planets-app` with the strudel-kit base app and Task Flow templates embedded in it. See the [Project Structure](/strudel-kit/docs/getting-started/project-structure) page to get a breakdown of all the generated files.
28+
29+
## Run Your Project
30+
31+
Go into the new directory:
32+
33+
```bash
34+
cd planets-app
35+
```
36+
37+
Install the app dependencies:
38+
39+
```bash
40+
npm install
41+
```
42+
43+
Start up your app locally:
44+
45+
```bash
46+
npm start
47+
```
48+
49+
Open your app in the browser at http://localhost:5175
50+
51+
In the future, when you run your app, you will not need to perform the install step -- just `npm start`. In fact, the development server that this runs is able to update the app "live" as you change the code in this directory, so you don't need to stop and restart the app for each change.
52+
53+
## Open Your Application Code
54+
55+
For the rest of the tutorial you will need a code editor to make changes to the files in your app. We recommend [VSCode](https://code.visualstudio.com/) but any editor will do.
56+
57+
From your code editor, open the `planets-app` folder.

0 commit comments

Comments
 (0)