*listed in no particular order
You have a right to know how business functions and you have to understand it in order to make reasonable decisions.
Ukama is open source at its core. Our proprietary software must always use and may extend on the open-source version but never replace it.
Do One Thing And Do It Well (DOTADIW)
Write programs that do one thing and do it really well. Write programs to work together.
Keep it simple (KISS)
System Design should be as simple as possible. Don’t overcomplicate without necessity. Simple systems are easier to understand, extend, and maintain.
A service or a system should run out of the box with the default configuration.
[Be Cloud Native] (https://github.com/cncf/toc/blob/main/DEFINITION.md#cncf-cloud-native-definition-v10)
Ukama software systems should run in vendor-neutral, scalable, and immutable infrastructure.
API is a first-class citizen. Internal user-facing applications should use the same API that is exposed externally.
When you face a choice like what naming convention or framework to use, try to look around, find similar cases and stay consistent with them unless you have a strong reason to diverge.
Everything should be the code. Investments in automation early will pay off in the long run by simplifying the routine tasks and eliminating human error
In order to handle errors effectively, we need to know where they happen and what exactly happened. Systems are complex and they fail from time to time. Our goal is to make sure we are prepared