Templates

The SIP supports the concept of templates for software projects.

What is a template?

Templates are pre made generators for SIP software project. They shall ease the start of new software projects and let people only focus on the important part of programming.

How do I use a template?

You can select which template you want to use for your project when creating a new project through the Gatekeeper UI.

Available Templates

Currently there are templates for the following use cases:

Main use caseDescriptionStackWhich projects currently use this
WebApp FrontendA template for a React Frontend App with VSETH Frontend Components.
  • TypeScript
  • ReactJS
  • optional: GRPC, authentication

None

PythonA template for a small web app that does not split between frontend and backend.
  • Python
  • Flask
  • optional: GRPC, authentication
None
Java

The java templates provides a project that can be used to build a GRPC server with a postgres database using Java 11. A few features are:

  • Build setup using the Gradle build runner.
  • GRPC
  • Database migration and schema generation
  • Java 11
  • Gradle
  • Jooq (database abstraction layer)
  • Flyway (database migration)

Go-CLI


Go Backend


How do I create a new template?

Creating a new template isn't that hard: We use the popular templating language Jinja2 for templating. An extensive documentation about how to create new templates can be found in the README of the repo-manager.