Skip to content

lsst-sqre/squareone

Repository files navigation

Squareone

GitHub Actions Documentation

Squareone is a monorepo for Rubin Observatory Data Management's front-end applications and packages.

Documentation for developers and operators: https://squareone.lsst.io

Applications in Squareone

  • squareone (the app) is the landing page for the Rubin Science Platform. It's where you start on your journey to use the RSP's portal, notebooks, and APIs to do science with Rubin/LSST data. You can see Squareone in action at data.lsst.cloud. The Squareone app is deployed with Phalanx.

Packages in Squareone

  • @lsst-sqre/global-css provides base global stylesheets for Squareone applications. These base CSS files mix in a basic reset, CSS custom properties from the Rubin Style Dictionary, and application of these properties to HTML elements.
  • @lsst-sqre/eslint-config is a shared ESLint configuration for Squareone applications and packages.
  • @lsst-sqre/rubin-style-dictonary is a design token package based on the Rubin Observatory Visual Identity Manual, build with style-dictionary.
  • @lsst-sqre/squared is a React component library for Squareone's applications. Squared implements the Rubin Observatory Visual Identity Manual via design tokens from the Rubin Style Dictionary (@lsst-sqre/rubin-style-dictionary).
  • @lsst-sqre/tsconfig is a shared TypeScript configuration for Squareone applications and packages.

Technology stack

  • Squareone is a monorepo managed with pnpm, Turborepo, and Changesets.

  • The apps are built with Next.js and React. Next.js allows the site to be dynamically configured for different Science Platform deployments.

  • Styling is done through styled-components (along with global CSS).

Development

To set up your development environment and run the site locally, see Squareone's development documentation: https://squareone.lsst.io/dev/