This is a template for Telestion projects. It provides the boilerplate code so can instantly start to develop your groundstation.
For a more in-depth guide on how to start a new project, take a look on our developer documentation.
First, press the Use this template
button.
Now, GitHub asks you some required information. Select a suitable user/group and give the repository a meaningful name.
Next, select your repository's visibility. When you're happy with your information, press the Create repository from template button.
Now, go to the Actions Tab in the GitHub UI and choose the Initialize
Action.
Then click Run workflow
and enter your preferences like so:
It is recommended to follow Maven Central
groupId
naming conventions, e.g. beginning with the company url in reverse.
Let GitHub Actions initialize your project.
-
Create a new and empty git repository:
mkdir my-telestion-project cd my-telestion-project git init
-
Fetch the changes from this template:
git fetch --depth=1 -n "https://github.com/wuespace/telestion-project-template.git"
-
Create an orphaned commit to start from there:
git reset --hard "$(git commit-tree FETCH_HEAD^{tree} -m "feat: Initial commit")"
-
Run the initialize script:
./scripts/initialize.sh
-
Commit your changes as suggested by the script:
git add . git commit -m "feat: Initialize project"
-
(Optional) Add a remote repository where you can push your project:
git remote add origin "[email protected]:your-name/my-telestion-project.git" git branch -M main git push -u origin main
The overall file structure of this monorepo looks like this:
.
├── .github
│ ├── workflows (CI configuration)
│ └── dependabot.yml (Dependabot config)
├── application
| ├── conf (the verticle configuration for the Application)
| ├── src (the source files of the Telestion Application)
| ├── Dockerfile (the definition to successfully build a Docker image from the compiled Application sources)
| ├── build.gradle (manages dependencies and the build process via Gradle)
| ├── gradle.properties (contains the required tokens to access required dependencies)
| ├── gradlew (the current gradle executable for UNIX-based systems)
| └── gradlew.bat (the current gradle executable for Windows systems)
├── client
| ├── public (template webpage folder where React will engage)
| ├── src (the source files of the Telestion Client)
| └── package.json (manages dependencies and the build process via npm)
├── CHANGELOG.md (DON'T TOUCH! Automatically generated Changelog)
├── README.md (you're here :P)
├── project.json (contains the current project information like the current version etc.)
└── telestion-application (DON'T TOUCH! Used as an indicator for our automation tools)
The Application and the Client folders contain their own README.md
that describe the different parts more specific.
For the documentation on contributing to this repository, please take a look at the Contributing Guidelines.
Thank you to all contributors of this repository:
Made with contributors-img.
Belongs to Telestion, a project by WüSpace e.V..