Basics
User Roles & PermissionsOur Tech StackData protection
Information security
App Customization & Deployment
Customizing your Web AppMobile App Deployment & DistributionAnalytics
Project management
Miscellaneous
SSO via SAMLSSO via Open ID ConnectLanguages
DeutschOur Tech Stack
We work with modern, scalable tools, frameworks and programming languages. We always try to combine security and data protection with maximum reliability and a high-quality user experience.
In core backend as well as in our web app, we work with JavaScript (with a strong focus on React, node.js and Typescript). For our mobile apps, we rely on native programming in the form of SWIFT (iOS) and Kotlin (Android). This is the only way we can guarantee the best experience for the user in the long term.
Fully Cloud Based
Our platform is based 100% on cloud services; we do not operate a single server ourselves. Our dev-ops team ensures that we use modern methods and options. We offer hosting on either AWS (with multiple regions optionally) or Hetzner (for german clients with a strong focus on GDPR and privacy).
Our AWS set is simple, scalable and efficient:
- for compute we use simple EC2 with EBS (without ElasticBeanstalk)
- for traffic balancing we use NGINX on EC2 or optionally ALB ALB with ECS Fargate (to handle traffic spikes)
- For DB tier we use RDS MySQL DB with restricted security groups rules
- For CDN tier we use CloudFront with WAF
Modern Development Methods
Our development work is based on the CI/CD model (Continuous Integration / Continuous Delivery) so that we can provide software quickly and efficiently. Using TDD (test-driven development) and pair programming, among other things, we ensure that our software is of the desired quality. We pursue a development approach in which high availability and scalability of the software are the focus of our efforts.
We attach great importance to security and data protection and operate an management system for information security based on the ISO27001:2017 standard, which was certified by german TÜV Süd in January 2023.
Headless/Decoupled Architecture
We pursue an API-first approach. Our backend is headless and the apps and frontend applications are decoupled from the backend. With technologies such as GraphQL, we try to keep the client as freely designable as possible. The mobile apps are just as much clients as all web frontends (both the consumer facing web app as well as the admin dashboard).
Security is significantly increased by isolating the services and protecting the API. In addition to REST, GraphQL is also used to access the API.
Mobile Apps
We rely on native programming languages to achieve the optimum UX and performance for the respective operating system and end device. Our iOS version is based on SWIFT (version 6) and our Android version is based on Kotlin (Jetbrains), which is officially supported by Google as a programming language for its mobile OS platform. With both languages, we ensure that our apps always offer the latest features, the highest security standards and maximum flexibility.
Sprachen und Frameworks
Backend + Web
API
Mobile Apps
Methods
The quality of the software we develop is one of the most important aspects of our work. To ensure that it meets the highest standards, we use the following methods, among others.
Agile Development
We develop software in an agile way. With a series of time-limited sprints, we achieve usable results (minimum viable product) at the earliest possible time, remain flexible and create the basis for sustainable, continuous further development of our platform. We use Kanban as a method and the sprints usually last 10 to 30 project days. Each sprint begins with a planning meeting and ends with a sprint review. In addition, regular retrospectives are held to continuously improve teamwork and efficiency.
TDD (Test-driven Development)
In order to identify errors before they occur, we carry out extensive and automated tests. Instead of programming code first, we develop the appropriate unit test first. The unit tests that result from TDD are also an integral part of the Continuous Integration/Continuous Delivery (CI/CD) process. With pipelines such as Travis CI, we support our development process in which all unit and integration tests are also carried out.
Pair Programming
We work in teams. When two developers work together on a story or task, this is a productive approach. There are fewer bugs, the quality of the code is improved, the workload is reduced and knowledge is shared. Our teams engage in intensive mentoring, use training and conduct internal code reviews.
Tools
Choosing the right tools is the basis for our work because they have a decisive impact on team performance and code quality. That's why we use the best, proven tools for our projects, such as those listed below.
GitHub
The source code of our mobile apps is located in GitHub repositories. This service is used for version control, issues, code reviews, deployments, etc. We use Git-Flow to organize the repository.
GitLab
The source code of our backend and our web frontends is located in GitLab repositories. This service is also used for version control, issues, code reviews, deployments, etc.
Bitrise
In order to manage, update and operate a large number of native apps, we use an automated build system with the help of Bitrise. The special feature of such tools is that they completely automate the process and the many manual steps involved in building an app. Bitrise is our "virtual computer" for creating mobile app builds.
Fastlane
fastlane offers us many small functions to prepare each app for the release process and to adapt it to customer requirements on the basis of a JSON file (which we control via our own Electron app). We use fastlane for code compilation, code signing, settings for the next build and AppStore handling.
The quality of the software we develop is one of the most important aspects of our work. To ensure that it meets the highest standards, we use the following methods, among others.