Overview

Rarog Platform is platform for building tailored applications through self-installed extensions and plugins.

With Rarog Platform user don’t need to know any programming language or be very technical person. Rarog makes it easy to build application of you needs using premade "pieces" named plugins and extensions. And if there is no premade solution that meets user needs, one can also create its own plugin or request creating it. Cost of developing new solutions on top of Rarog Platform is lower than creating the solution from the zero, as Rarog Platform comes with premade pieces that occur in each software like: user management, admin panel, security audit, metrics, etc. With it in place the developer need to focus on delivering requested functionality, instead of whole system.

The difference between Rarog Platform and framework like Spring Framework is fact that Rarog is ready to install and start application, while framework are only frame for building one. Rarog platform comes with ready to use features like:

  • user management (including multi-factor authentication, SSO, LDAP support)

  • plugin management (core idea of Rarog Platform resolves around pluggable architecture)

  • extendable admin panel

  • security & performance monitoring (audit logs, OpenMetrics formatted metrics)

  • security access management (unauthenticated access, group & user visibility, extendable permission schemes)

1. What does "rarog" mean?

Rarog - a fire demon, often depicted as a fiery falcon. In slavic folklore, the Rarog is a tiny bird that can be held in a pocket and can bring people good luck (or happiness, depending on interpretation). In present day Rarog is one of falcon species: Falco cherrug. But naming our software we were thinking about a lucky fire demon.

When we use term "Rarog" in our documentation and communication we usually mean family of products created by our team. Rarog Platform is one of them. By Rarog Software we mean whole initiative behind creating software and software itself under Rarog banner. Sometimes we use term "Rarog team" which refers to dev team behind Rarog Software.

2. History of Rarog Platform

The first product we intended to create in 2022 was Rarog Security. Software for homemade alarm and surveillance systems. But during our work we noticed great potential that come from creating and distributing common platform for all software. We were building such platform anyway for Rarog Security, but with little more effort, we could make it more extendable and generic. That’s how Rarog Platform come to life, and took first place before original idea of Rarog Security.

Architecture of Rarog Platform was inspired by Jetbrains ways of creating their IDEs. Common platform with set of plugins that bring actual functionality, which is packaged into convenient bundles. We wanted to use the same idea to other kinds of software, and give freedom to developers and users to use it as they see it fit.

At the same time we decided that such idea should be available in Open Source domain, so we have software with open ecosystem, that can take profits from infinity of human creativity. We didn’t forget about potential profits, but closing such great idea behind paywall seemed to be too great waste. World seen enough of good ideas in "corporate prison cells".

That’s why Rarog Platform always will be free and Open Source.

3. Design Philosophy

When you learn about platform, it’s important to know what principles it follows. Here are core principles of Rarog Platform:

  • Leave final decisions to admin. Whatever Rarog does, it always aims to leave final decision to administrators, so they can take decision most suiting their needs. For example max number of background tasks executed at the same time.

  • When adding new functionality always consider making it extendable, unless it makes no sense. The whole point of platform is to make is configurable and extendable. With each decision to close component we remove potential extensions opportunities.

  • Care about APIs design. It only makes sense to prepare good APIs that will be stable and backward compatible. Without it ecosystem would crumble each release.

  • Set high standard for code quality. There is no worse enemy of ecosystem than messy base code, that makes little to no sense or just don’t work.

4. Feedback and Contributions

For how-to questions or diagnosing or debugging issues, we suggest using Stack Overflow. It is natural for any open source project. If you’re fairly certain that there is a problem in Rarog platform or would like to suggest a feature, please reach use at our Discord Server.

If you have a solution in mind or a suggested fix, you can submit a pull request on Gitlab, where you can read more on contributing.

5. Getting Started

If you are getting started we suggest you to install the newest version of software and experiment for little. In the future we plan to add some sort of started packages or marketplace for plugins, but for now you must use search engine of your choice (like Google or DuckDuckGo) and you own common sense.