{"id":18620501,"url":"https://github.com/simonsobs/nextline-web","last_synced_at":"2025-10-29T14:43:45.082Z","repository":{"id":37529967,"uuid":"312026283","full_name":"simonsobs/nextline-web","owner":"simonsobs","description":"The front-end web app of Nextline","archived":false,"fork":false,"pushed_at":"2025-04-04T17:52:06.000Z","size":3916,"stargazers_count":3,"open_issues_count":19,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-04T18:35:31.703Z","etag":null,"topics":["nextline"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonsobs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-11T16:26:22.000Z","updated_at":"2025-04-04T17:51:56.000Z","dependencies_parsed_at":"2023-09-30T00:32:30.572Z","dependency_job_id":"1f9acd82-1a6e-49c7-a485-4053bd9a1b84","html_url":"https://github.com/simonsobs/nextline-web","commit_stats":{"total_commits":1184,"total_committers":2,"mean_commits":592.0,"dds":"0.0050675675675675436","last_synced_commit":"40db69f5e045e945c9ee121c7034cf829fc13ccc"},"previous_names":[],"tags_count":82,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fnextline-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fnextline-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fnextline-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fnextline-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonsobs","download_url":"https://codeload.github.com/simonsobs/nextline-web/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248329547,"owners_count":21085557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextline"],"created_at":"2024-11-07T04:06:36.887Z","updated_at":"2025-10-29T14:43:45.064Z","avatar_url":"https://github.com/simonsobs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nextline-web\n\n[![npm](https://img.shields.io/npm/v/nextline-web)](https://www.npmjs.com/package/nextline-web)\n[![Unit tests](https://github.com/simonsobs/nextline-web/actions/workflows/unit-test.yml/badge.svg)](https://github.com/simonsobs/nextline-web/actions/workflows/unit-test.yml)\n[![Test Status](https://github.com/simonsobs/nextline-web/actions/workflows/type-check.yml/badge.svg)](https://github.com/simonsobs/nextline-web/actions/workflows/type-check.yml)\n\nThe front-end web app of Nextline.\n\n_Nextline_ is a DAQ sequencer of the [Observatory Control System\n(OCS)](https://github.com/simonsobs/ocs/). Nextline allows line-by-line\nexecution of concurrent Python scripts, which control telescopes, by multiple\nusers simultaneously from web browsers.\n\n## Citation\n\nNextline consists of multiple packages. Please use the following DOI for [the\ncore package](https://github.com/simonsobs/nextline) to cite Nextline in general\nunless you need to refer to a specific package.\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.11451619.svg)](https://doi.org/10.5281/zenodo.11451619)\n\n## Screenshot\n\n![Screenshot](screenshot.png)\n\n## How to run the Nextline front-end web app\n\nThe section shows how to run the Nextline front-end web app. To start, you need\nto know the URL of the [back-end API\nserver](https://github.com/simonsobs/nextline-graphql).\n\n### As a Docker container\n\nDocker images of the Nextline front-end web app are created as\n[ghcr.io/simonsobs/nextline-web](https://github.com/simonsobs/nextline-web/pkgs/container/nextline-web).\n\n#### Environment variables in the container\n\nYou can configure the web app in the container with these variables.\n\n| Environment variable | Default value           | Description                                |\n| -------------------- | ----------------------- | ------------------------------------------ |\n| `PUBLIC_PATH`        | `/`                     | Path in the URL of the web app             |\n| `API_HTTP`           | `http://localhost:8000` | URL of the GraphQL API server              |\n| `API_NAME`           | `localhost`             | Text to be shown as part of the title      |\n| `SEED_COLOR`         | `#607D8B`               | The source color (hex) of dynamic colors\\* |\n\n\\*Accessible colors in light and dark modes are dynamically generated by\n[Dynamic Color in Material Design](https://m3.material.io/styles/color/).\n\nFor example, if you are to run the web app at the port `8080` with the path\n`/nextline/` and use the GraphQL API server at `http://localhost:5000/graphql` as the name `API 1`, you can do so with the following command.\n\n```bash\ndocker run -p 8080:80 -e PUBLIC_PATH=/nextline/ -e API_HTTP=http://localhost:5000/graphql -e API_NAME=\"API 1\" ghcr.io/simonsobs/nextline-web\n```\n\nIf you are on the `localhost`, the web app is running at \u003chttp://localhost:8080/nextline/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsobs%2Fnextline-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonsobs%2Fnextline-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsobs%2Fnextline-web/lists"}