Skip to content

whiletrue111/strudel-kit

 
 

Repository files navigation

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.

About

Fullstack templates and React components for implementing scientific UIs with the STRUDEL design system.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 86.3%
  • MDX 5.9%
  • Python 5.2%
  • Dockerfile 0.9%
  • Mako 0.6%
  • CSS 0.6%
  • Other 0.5%