Infos zum Start & Grundlagen
EinleitungOrganisation, Kanäle und MixesPosts, Karten & Content TypenRollen für NutzendeCommunity FunktionenMobile Apps & Web AppFunktions-& LeistungsbeschreibungTech StackSupportDatenschutz
Grundlage Datenschutzkonzept(e)NutzungsauswertungVerwaltung Zugangsdaten der NutzendenPersonenbezogene Daten und DatenkategorienInhalte in App und WebAuftragsdatenverarbeiterTOMsInformationssicherheit
Informationssicherheit bei tchopSicherheitsrichtlinie ISO27001 ZertifikatSicherer ZugangSchwachstellenanalyseRisikoanalyseKommunikationsmatrixApp Customization & Deployment
Bereitstellung AppsMobile App Deployment & VertriebApp CustomizationApp UpdatesSSO via SAMLSSO via Open ID ConnectAnalytics & Reporting
Grundlagen KPIsAnalytics DashboardProjektsteuerung
Arbeitspakete & TimelineEnablementLaunch & OnboardingBetriebsratBeispiele & VorlagenSonstiges
Feature RoadmapLanguages
EnglishUnser Tech Stack
Wir arbeiten mit modernen, skalierbaren Tools, Frameworks und Programmiersprachen. Dabei versuchen wir stets Sicherheit und Datenschutz mit einem Maximum an Zuverlässigkeit und einer hochwertigen User Experience zu verbinden.
Im Web bzw. Backend arbeiten wir mit Javascript (mit einem starken Fokus auf React, node.js und Typescript). Bei unseren mobilen Apps setzen wir auf native Programmierung in Form von SWIFT (iOS) und Kotlin (Android). Denn nur so garantieren wir langfristig die beste Experience für die bzw. den Nutzer*in.
Unsere Plattform basiert zu 100 % auf Cloud-Diensten, wir betreiben keinen einzigen Server selbst. Unser Dev-Ops Team stellt sicher, dass wir dabei moderne Methoden und Möglichkeiten verwenden. Alle verwendeten Server befinden sich ausschließlich in Deutschland, womit die Daten in der EU bleiben.
Moderne Entwicklungsmethoden
Unserer Entwicklungsarbeit liegt das CI/CD-Modell zugrunde (Continuous Integration / Continuous Delivery), sodass wir Software schnell und effizient bereitstellen können. Unter anderem mithilfe von TDD (Test-driven Development) und Pair-Programming sorgen wir dafür, dass unsere Software die gewünschte Qualität hat. Dabei verfolgen wir einen Entwicklungsansatz, bei dem hohe Verfügbarkeit und Skalierbarkeit der Software im Mittelpunkt unserer Bemühungen stehen.
Wir legen Wert auf Sicherheit, Datenschutz und betreiben ein Managementsystem für Informationssicherheit auf Basis des ISO27001 Standards, welches der TÜV Süd im Januar 2023 zertifiziert hat.
Headless/Decoupled-Architektur
Wir verfolgen einen API-first Ansatz. Unsere Backend ist headless und die Apps und Frontend-Applikationen sind vom Backend entkoppelt. Mit Technologien wie OpenAPI/Swagger versuchen wir den Client möglichst frei gestaltbar zu halten. Die mobilen Apps sind dabei genauso Client wie alle Web Frontends. Die Sicherheit wird durch die Isolierung der Dienste und durch den Schutz der API deutlich erhöht. Neben REST kommt beim Zugriff auf die API auch GraphQL zum Einsatz.
Mobile Apps
Um die optimale, zum jeweiligen Betriebssystem und Endgerät passende UX und Performance zu erzielen, setzen wir auf native Programmiersprachen. Unsere iOS Version setzt auf SWIFT (Version 5) und unsere Android Version basiert auf Kotlin (Jetbrains), welches offiziell von Google als Programmiersprache für seine mobile OS-Plattform unterstützt wird. Mit beiden Sprachen stellen wir sicher, dass unsere Apps immer die neuesten Features, die höchsten Sicherheitsstandards und uns die maximale Flexibilität bieten.
Sprachen und Frameworks
Backend + Web
API
Mobile Apps
Methoden
Die Qualität der von uns entwickelten Software ist einer der wichtigsten Aspekte unserer Arbeit. Damit sie den höchsten Ansprüchen genügt, nutzen wir unter anderem die folgenden Methoden.
Agile Entwicklung
Wir entwickeln Software immer agil. Mit einer Serie zeitlich begrenzter Sprints erreichen wir zum frühstmöglichen Zeitpunkt nutzbare Ergebnisse (Minimum Viable Product), bleiben flexibel und schaffen die Basis für eine nachhaltige, kontinuierliche Weiterentwicklung unserer Plattform. Wir nutzen Kanban als Methode und die Sprints umfassen in der Regel 10 bis 30 Projekttage. Jeder Sprint beginnt mit einem Planning Meeting und endet mit einem Sprint Review. Darüber hinaus finden regelmäßige Retrospektiven statt, um das Teamwork und die Effizienz kontinuierlich zu verbessern.
TDD (Test-driven Development)
Um Fehler vor dem Entstehen zu identifizieren, führen wir umfangreiche und automatisierte Tests durch. Anstatt als erstes Code zu programmieren, entwickeln wir als erstes den passenden Unit Test. Die Unit-Tests, die aus TDD hervorgehen, sind auch ein integraler Bestandteil des Continuous-Integration-/Continuous-Delivery-Prozesses (CI/CD). Mit Pipelines wie Travis CI, unterstützen wir unseren Entwicklungs-prozess Prozess bei dem auch alle Unit- und Integration-Tests durchgeführt werden.
Pair Programming
Wir arbeiten in Teams. Wenn jeweils zwei Entwickler an einer Story oder einem Task zusammenarbeiten, dann ist dies ein produktiver Ansatz. Es treten weniger Bugs auf, die Qualität des Codes wird verbessert, der Arbeitsaufwand wird reduziert und das Wissen wird verteilt. Unsere Teams betreiben intensives Mentoring. nutzen Trainings und machen interne Code Reviews.
Tools
Die Auswahl der richtigen Tools ist die Grundlage für unsere Arbeit, weil sie sich entscheidend auf Team-Performance und Codequalität auswirken. Daher nutzen wir für unsere Projekte die besten, bewährten Tools, wie zum Beispiel die im Folgenden aufgeführten.
GitHub
Der Quellcode unser mobilen Apps befindet sich in GitHub-Repositories. Dieser Service wird für die Versionskontrolle, Issues, Code-Reviews, Deployments usw. genutzt. Für die Organisation des Repositorys verwenden wir Git-Flow.
GitLab
Der Quellcode unseres Backends sowie unserer Web Frontends befindet sich in GitLabs-Repositories. Auch dieser Service wird für die Versionskontrolle, Issues, Code-Reviews, Deployments usw. genutzt.