{"id":21831768,"url":"https://github.com/wuespace/telestion-client","last_synced_at":"2025-04-14T07:20:21.533Z","repository":{"id":37954836,"uuid":"291021821","full_name":"wuespace/telestion-client","owner":"wuespace","description":"Telestion Frontend Framework (Technical leads: Ludwig Richter, Jan Tischhöfer)","archived":false,"fork":false,"pushed_at":"2025-04-03T23:04:06.000Z","size":72421,"stargazers_count":7,"open_issues_count":25,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-07T06:36:58.064Z","etag":null,"topics":["monorepo","psc","psc-development","telestion","telestion-client","telestion-frontend","typescript-library"],"latest_commit_sha":null,"homepage":"https://telestion.wuespace.de","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/wuespace.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-28T10:46:56.000Z","updated_at":"2025-01-28T13:48:07.000Z","dependencies_parsed_at":"2023-10-01T18:10:19.716Z","dependency_job_id":"b2c550c7-32d5-4820-b6ca-cad42059b6fc","html_url":"https://github.com/wuespace/telestion-client","commit_stats":{"total_commits":2397,"total_committers":7,"mean_commits":"342.42857142857144","dds":0.6270337922403004,"last_synced_commit":"d7c5bf16c79c537cafd2f9c88d52fdc0c77e4503"},"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuespace%2Ftelestion-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuespace%2Ftelestion-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuespace%2Ftelestion-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuespace%2Ftelestion-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wuespace","download_url":"https://codeload.github.com/wuespace/telestion-client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248837158,"owners_count":21169375,"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":["monorepo","psc","psc-development","telestion","telestion-client","telestion-frontend","typescript-library"],"created_at":"2024-11-27T19:15:29.566Z","updated_at":"2025-04-14T07:20:21.508Z","avatar_url":"https://github.com/wuespace.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Telestion Client\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/5fb6ccd02dd3152ef03f/maintainability)](https://codeclimate.com/github/wuespace/telestion-client/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/5fb6ccd02dd3152ef03f/test_coverage)](https://codeclimate.com/github/wuespace/telestion-client/test_coverage)\n![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/wuespace/telestion-client/ci.yml?branch=main)\n[![GitHub](https://img.shields.io/github/license/wuespace/telestion-client)](LICENSE)\n[![Node current](https://img.shields.io/badge/node-%3E%3D16-brightgreen)](package.json)\n[![PNPM current](https://img.shields.io/badge/pnpm-7-brightgreen)](package.json)\n[![Twitter Follow](https://img.shields.io/twitter/follow/wuespace?style=social)](https://twitter.com/wuespace)\n\nThis is the Telestion Client Library Monorepo. It contains, in basic terms, a framework for building so-called\n_Project-Specific-Clients_ (PSCs), which are clients for the Telestion software that perfectly fit\nthe mission's requirements.\n\n_Telestion_ is an ecosystem for Ground Station software that's easy to adjust to a mission's needs\nwithout re-inventing the wheel.\n\n## Getting Started with PSC development\n\n**This is just a very basic guide for getting started. For more in-depth guides, reference, etc.,\nplease refer to the [official Telestion documentation](https://docs.telestion.wuespace.de/).**\n\nTo make it easy for you to develop PSCs, we provide a fully-featured CLI that, while keeping everything extensible,\ngives you a hand in creating new projects, generating boilerplate in the projects,\nrunning the project during development, and building the PSC, either for the web or as a native, Electron-based, app.\n\n### Before you begin\n\nBefore you begin, please make sure that you have the following tools installed on your system:\n\n- [NodeJS](https://nodejs.org/en/) ([Download](https://nodejs.org/en/download/)), v16 or above\n- [pnpm](https://pnpm.io/) ([Installation instructions](https://pnpm.io/motivation)), v7 or above (an alternative package manager for packages in the [npm registry](https://www.npmjs.com/))\n\nWith both installed, we're ready to take off 🚀:\n\n### Installing the CLI\n\nFirst, let's install the Telestion Client CLI. Open a command line and enter the following command:\n\n```shell\npnpm add --global @wuespace/telestion-client-cli\n```\n\n\u003e ⚠ If, on UNIX-based systems (Linux or macOS), you run into permission issues when running this command,\n\u003e please try re-running it with `sudo`.\n\n### Creating the PSC\n\nWith the CLI installed, we can create our first PSC project.\nOpen a command line in a folder where you'd like to create your project and run:\n\n```shell\ntc-cli init\n```\n\nYou will then be asked one or more questions (like the project title).\nWhen everything's answered, the CLI will initialize a full PSC project for you, so ... sit back, relax,\nand enjoy the flight 😉.\n\nOh! We're already on final approach, and now ... the command is finished.\nYou will find that the CLI generated a PSC project into a folder matching the title you've given the project.\n\n### Running the PSC\n\nYou can now enter that folder and run the PSC by running:\n\n```shell\npnpm start\n```\n\nHouston, Tranquility Base here, the Eagle has landed! You should, now, see a flashy PSC open in a new window.\n\n### Next steps\n\nThis might all seem a bit overwhelming, at first, but don't worry: We've got you covered\nand try to provide all the documentation and help you need to get going.\n\nTo learn about how to develop the PSC, please take a look at the\n[client development documentation](https://docs.telestion.wuespace.de/client/), which contains guides,\nexplanations of concepts, and reference for everything surrounding the topic.\n\nFor the always-up-to-date API reference for all the npm packages of this repository, please have a look at our\n[Online API Reference](https://wuespace.github.io/telestion-client/),\npowered by [fliegdoc](https://github.com/fliegwerk/fliegdoc).\nAs Telestion is meant to be extensible, documentation is a high priority.\nTherefore, we have a high standard for the API Reference, as well, with every exposed API being fully documented\nwith Doc Comments, including an example for every function, and so on.\n\nLast, but not least, you should also consider taking a look at some of our already existing PSCs:\n\n- [Telestion Project RocketSound](https://github.com/wuespace/telestion-project-rocketsound)\n- [Telestion Project Daedalus2](https://github.com/wuespace/telestion-project-daedalus2)\n\n## This Repository\n\n### Project Structure\n\nThe overall file structure of this monorepo looks like this:\n\n```\n.\n├── .github\n│   ├── workflows (CI configuration)\n├── base-configs (configurations around the repo)\n│   ├── eslint.base.js\n│   └── [...]\n├── packages (npm packages within this repo)\n│   ├── telestion-client-cli\n│   ├── [...]\n├── .fliegdocrc.js (Fliegdoc configuration for generating doc pages)\n├── CHANGELOG.md (DON'T TOUCH! Automatically generated Changelog)\n├── README.md (you're here :P)\n└── [...]\n```\n\n**Many folders, such as the individual packages in [`./packages`](./packages), etc.,\ncontain their own `README.md` that documents their inner structure.**\n\n### Packages\n\n- [`@wuespace/parcel-optimizer-electron-require`](./packages/parcel-optimizer-electron-require) - A Parcel optimizer that allows you to use `require` in your Electron app `preload` scripts.\n- [`@wuespace/parcel-reporter-tc-cli`](./packages/parcel-reporter-tc-cli) - A Parcel reporter that provides a nice CLI output for the Telestion Client CLI.\n- [`@wuespace/parcel-resolver-react`](./packages/parcel-resolver-react) - A Parcel resolver that allows you to use `react` imports in your PSC without fear of \"duplicate\" React instances.\n- [`@wuespace/telestion-client-cli`](./packages/telestion-client-cli) contains the CLI for developing PSCs.\n- [`@wuespace/telestion-client-core`](./packages/telestion-client-core) contains the core components\n  of the Telestion Client that are essential for developing a Telestion frontend.\n- [`@wuespace/telestion-client-common`](./packages/telestion-client-common) contains more common components\n  that not necessary for a working frontend project but are highly recommended by the Telestion development team.\n- [`@wuespace/telestion-client-prop-types`](./packages/telestion-client-prop-types) contains common PropTypes\n  for the telestion-client ecosystem.\n- [`@wuespace/telestion-client-template`](./packages/telestion-client-template) contains the template structure\n  for a future Telestion Client project.\n- [`@wuespace/telestion-client-types`](./packages/telestion-client-types) contains TypeScript definitions\n  for common telestion-client types, used in different packages.\n- [`@wuespace/vertx-event-bus`](./packages/vertx-event-bus) contains a client for the VertX EventBus,\n  including full TypeScript support.\n- [`@wuespace/vertx-mock-server`](./packages/vertx-mock-server) contains a mock server that simulates a connection\n  with the Telestion backend only for testing purposes.\n\n### Contributing\n\nFor the documentation on contributing to this repository,\nplease take a look at the [Contributing Guidelines](./CONTRIBUTING.md).\n\n## Contributors\n\nThank you to all contributors of this repository:\n\n[![Contributors](https://contrib.rocks/image?repo=wuespace/telestion-client)](https://github.com/wuespace/telestion-client/graphs/contributors)\n\nMade with [contributors-img](https://contrib.rocks).\n\n## About\n\nThis is part of [Telestion](https://telestion.wuespace.de/), a project by [WüSpace e.V.](https://www.wuespace.de/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwuespace%2Ftelestion-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwuespace%2Ftelestion-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwuespace%2Ftelestion-client/lists"}