Skip to content

Latest commit

 

History

History
120 lines (88 loc) · 10.9 KB

File metadata and controls

120 lines (88 loc) · 10.9 KB

STRUDEL Kit

All Contributors

STRUDEL Kit is a set of modern fullstack templates and components for building scientific apps based on the STRUDEL Design System and Task Flows. Visit strudel.science for more information about the STRUDEL project.

Browse the new docs!

(Legacy docs)

Technology Stack

Backend

  • Python: Programming language popular for scientific and data analysis
  • FastApi: Backend framework for building REST APIs
  • SQLAlchemy: SQL toolkit and ORM
  • Alembic: Database migration tool
  • uv: Python package and project manager

Frontend

  • TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
  • React: A component-based JavaScript library for building UIs.
  • Vite: A fast, opinionated frontend build tool.
  • Material UI: Open-source React component library based on Google's Material Design.
  • TanStack Router: A fully type-safe router with built-in data fetching, first-class search-param APIs, and more.
  • ESLint: The pluggable linting utility for JavaScript and JSX.
  • Prettier: An opinionated code formatter.
  • Cypress: End-to-end tests for built-in templates.

Run Computation results page

Getting started with a template

This library provides a suite of templates to implement UIs for various different task flows common to the scientific domain. Each template lives in the templates directory and is built on top of the main base-app template.

Requirements

Copy a template

Open a terminal and navigate to the directory where you want your app to live.

Copy your template of choice (e.g. explore-data):

degit strudel-science/strudel-kit/templates/explore-data my-app

You can also copy sections of a fullstack template if you don't need the whole backend and frontend:

degit strudel-science/strudel-kit/templates/explore-data/frontend my-frontend-app

You may even want to combine or add a specific task flow to an existing frontend:

degit strudel-science/strudel-kit/templates/explore-data/frontend/src/pages/compare-data my-compare-data-page

Getting started with the React components

./packages/react-components/README.md

Contributions

STRUDEL Kit welcomes contributions of all kinds! Learn how to submit suggestions and changes in CONTRIBUTING.md.

Contributors

Cody O'Donnell
Cody O'Donnell

💻 🎨 📖
TechMaarten
TechMaarten

💻
Sarah Poon
Sarah Poon

🎨 🧑‍🏫 🤔
Drew Paine
Drew Paine

🔬 📆
LRamakrishnan
LRamakrishnan

🧑‍🏫 📆 🔍
georgia bullen
georgia bullen

📆 🔍 📋
Philliph Drummond
Philliph Drummond

💻 💡
Anh
Anh

📋
Eriol Fox
Eriol Fox

📋
James Colliander
James Colliander

🚇 📆
Angus Hollands
Angus Hollands

🚇
Jenny Wong
Jenny Wong

🚇
Maryam Vareth
Maryam Vareth

📆 🤔
Rajshree Deshmukh
Rajshree Deshmukh

💻 🎨 🔬
Hannah Cohoon
Hannah Cohoon

🔬 💻 📖
Dan Gunter
Dan Gunter

💻 🧑‍🏫 🤔
Erin Becker
Erin Becker

📆 📖
Kirstie Whitaker
Kirstie Whitaker

🖋 🤔

License

This software is licensed through the Lawrence Berkeley National Lab and can be used, modified, and shared at absolutely no cost. Read the full license.

Attribution

We kindly ask that you take two steps to attribute this repo if you find it useful to your work:

  1. Give us a star on our GitHub Page
  2. Credit the STRUDEL project and strudel-kit repo in your README.

This project utilized the strudel-kit repository. Read more about STRUDEL.