Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/albireox/boson
SDSS observer graphical interface
https://github.com/albireox/boson
electron gui material-ui react reactjs sdss typescript
Last synced: 2 months ago
JSON representation
SDSS observer graphical interface
- Host: GitHub
- URL: https://github.com/albireox/boson
- Owner: albireox
- Created: 2020-12-22T06:06:13.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-31T00:11:51.000Z (8 months ago)
- Last Synced: 2024-05-31T15:54:16.255Z (8 months ago)
- Topics: electron, gui, material-ui, react, reactjs, sdss, typescript
- Language: TypeScript
- Homepage: https://albireox.github.io/boson/
- Size: 28.7 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
boson
=====`boson` is a prototype GUI meant to expand and eventually replace [STUI](https://github.com/ApachePointObservatory/stui). It uses the following libraries and frameworks:
- [Typescript](https://typescriptlang.org/) for event management.
- [electron](https://electronjs.org) for window management and packaging.
- [React](https://reactjs.org) for building interfaces.
- [Material UI](https://material-ui.com) for React components with a unified design.Development
-----------`boson` uses the [Electron Forge](https://www.electronforge.io) boilerplate with the `vite-typescript` template. First, install the dependencies with [yarn](https://yarnpkg.com) (use of `npm` may be possible but is not tested; please do not commit the `package-lock.json` file). Note that this workflow is tested with `yarn` 4.1.0+ and `node` 21 on macOS Sonoma. It may not work in other systems.
```console
yarn install
```You can run the application in development mode with
```console
yarn start
```To package the app for distribution do
```console
yarn package
```and to publish it to GitHub as a draft release, do
```console
yarn publish
```The packaging script will try to code sign and [notarise](https://github.com/electron/notarize?tab=readme-ov-file#what-is-app-notarization) your macOS binaries, for which you need to have set `$APPLE_ID` and `$APPLE_ID_PASS` to an email and app-specific password that can be used to notarize `boson`. In general you don't need to worry about notarising since the CI workflow will do it for you, but note that if you try to distribute a non-notarised app most users won't be able to run it without disabling Gatekeeper.
Continuous Integration
----------------------The GitHub workflow [publish.yml](.github/workflows/publish.yml) will build and notarise the application (currently only macOS binaries are produced) in three circumstances:
- When a new tag is pushed.
- When the workflow is manually initiated as a workflow dispatch.For new tags the workflow will create a new draft release and publish the artifacts there. The user needs to manually edit the release notes and publish the release, which will in turn trigger the auto uploader to download the new version.