Skip to content

tangly-team/tangly-os

Repository files navigation

tangly OS Components

The tangly open source components are a set of open source libraries released under Apache 2.0 licence and are available through maven central. The components are

  • APPS Vaadin user interface and REST services application library

  • BDD behavior driven development library

  • COMMONS commons library

  • CORE core library Core business abstractions such as address, bank connection, and legal entity are provided.

  • DEV development tools library

  • FSM hierarchical finite state machine library. The library also provides an actor abstraction and Java-based event bus.

  • GLEAM declarative model transformation frameworks library. Approaches for TSV and JSON representations are available.

  • UI Vaadin user interface library

  • WEB Web utilities library

  • ERP Components

    • ERP CRM customer relations management business components library

    • ERP INVOICES invoices business components library

    • ERP LEDGER ledger business components library

    • ERP PRODUCTS products business components library

    • ERP UI ERP application with a set of bounded domains with Vaadin user interface

The documentation is located under tangly-team.

The primary repository is hosted under GitHub tangly OS GitHub.

A mirror is also hosted under GitLab tangly OS GitLab. A legacy mirror is also hosted under BitBucket tangly OS BitBucket.

The issue tracker for errors, improvements, and corrections is tangly OS issues.

For any further questions, you can use the forum tangly-Discussions.

We are experimenting with the most current versions of components, libraries and JDK. The components are stored in a single git repository and are build using a multi-modules gradle build script.

Contribution

You are welcome to contribute to the product with pull requests on GitHub. You can download the source files from the GitHub git repository. Build the library with the provided gradle configuration file.

If you find a bug or want to request a feature, please use the issue tracker.

License

The source code is licensed under Apache license 2.0.

The documentation and examples are licensed under Creative Common (CC Attribution 4.0 International).

Compile the product

You shall have access to a Git installation to clone the repository and download the files. You must install JDK version 22 to compile the source code. The Gradle build file can be triggered without any supplemental installation with

./gradlew build

The first run will take time because all dependencies will be downloaded from Maven repositories. The next compilations will be much faster. Ensure you have enough bandwidth to provide a smooth experience.

All development activities are performed with probably the best Java IDE IntelliJ IDEA.

DevOps Activities

These instructions are for project committers.

The project is hosted on:

git add remote origin             [email protected]:tangly-team/tangly-os.git               (1)
git add remote origin-gitlab      [email protected]:marcelbaumann/tangly-os.git             (2)
git add remote origin-bitbucket   [email protected]:tangly-team/tangly-os.git            (3)
  1. primary git repository due to the excellent support for static websites.

  2. secondary git repository.

  3. historical git repository missing support for Asciidoc and static websites [1].

If you create a new remote repository, you can populate it with the following commands.

git remote add origin <repository-git-url>                                               (1)
git push --set-upstream origin --all                                                     (2)
git push --set-upstream origin --tags                                                    (3)
  1. Add the remote repository to your local git configuration.

  2. Push the whole content of the local repository to the remote repository.

  3. Push all branches to the remote repository.

CI/CD/CD

GitHub
  1. Automated as build script

GitLab
  1. Automated as build script

BitBucket
  1. Go to the Commits

  2. Select the commit you want to deploy

  3. On the displayed screen select the Run pipeline operation. You are presented with a selection of deployment options. The variable BB_AUTH_STRING is defined through REPOSITORY-OWNER-NAME:_APP-PASSWORD_. The continuous deployment is a manual step to limit the usage of pipeline minutes and diminish associated costs.

Contributions

You are welcome to contribute to the product. Participate in discussions or create issues on GitHub.

You can download the source files from the Open Source GitHub Repository.

Build the library with the provided Gradle configuration.

If you find a bug or want to request a feature, please use issue tracker.

License

The source code is licensed under Apache license 2.0.

The documentation and examples are licensed under Creative Common (CC Attribution 4.0 International).

Awesome Sponsors and Developers

Corporate sponsors are:

Individual developers are:


1. The educational repository of the technical university of Lucerne was removed after their gitlab server was compromised in 2023.