Technologien und Tools

Frontend, Backend, DevOps: das ist unser Tech-Stack

Wann welche Technologie?

Technologie ist nie Selbstzweck, sondern muss zum Projekt passen. Uns ist es wichtig, in kurzer Zeit und mit realistischem Budget, erfolgreiche Lösungen für unsere Auftraggeber zu schaffen. Darum verwenden wir die neuesten Trends dort, wo sie ihre Vorteile ausspielen und setzen auf etablierte Tools und Methoden, wo Erfahrung und Zuverlässigkeit zählen. Deshalb schätzen uns unsere Kunden als Partner im Bereich Websites, Content Management Systeme, digitale Services und APIs.

Frontend

Responsive, performance-optimierte und nutzerzentrierte Frontends

Als JavaScript-Framework kommt bei uns überwiegend React.js zum Einsatz. Wir arbeiten jedoch auch mit Vue.js oder unserer Eigenentwicklung Pacto. Programmiert wird nach den aktuellesten Spezifikationen des ECMAScript-Standards und die anschließende Aufbereitung für den Server übernimmt Webpack. Dabei haben wir immer ein Auge auf die Performance in Suchmaschinen, Browserkompatibilität, Barrierefreiheit und schnelle Ladezeiten. Reicht eine Website nicht aus, setzen wir auf Progressive Web Apps oder React Native.

Sie möchten mehr wissen? Dann fragen Sie unseren Technical Lead.

Name
Andreas Hug
E-Mail
andreas.hug@moccu.com
Telefon
+49 30 44 01 30 37
Foto

Backend

Zuverlässige und skalierbare Backend-Systeme mit Django

Im Zentrum unserer Backend-Entwicklung stehen Python und Django. Python, weil es eine moderne High-Level-Programmiersprache mit vielen Zusatzbibliotheken ist, die nicht nur in der Webentwicklung Anwendung findet. Außerdem macht es Python besonders einfach, klaren und wartbaren Code zu schreiben, was langfristigen Projekten zugute kommt. Das Web-Framework Django bietet uns eine perfekte Mischung aus Stabilität und Flexibilität, um alle Anwendungsfälle abzudecken.

Auch bei den weiteren Komponenten setzen wir auf stabile und weit verbreitete Open-Source-Software. Als Webserver kommen Caddy und Nginx zum Einsatz. Bei relationalen Datenbanken setzen wir auf PostgreSQL und für ein performantes Caching sorgt Memcache. Redis ist unser Tool der Wahl, wenn es um Queues, Locks und Pub-Sub geht.

Operations

Automatisierte Deployments, Docker und Infrastructure as Code

Automatisierung ist für uns ein wichtiger Bestandteil der Softwareentwicklung und wir haben uns zum Ziel gesetzt, innerhalb weniger Minuten vom blanken Server zum laufenden Projekt zu kommen. Dank Ansible haben alle unsere Server die gleiche Grundkonfiguration und können leicht auf dem neuesten Stand gehalten werden. Für die Projekte verwenden wir Docker, da sich die Container unabhängig vom Server vorbereiten und testen lassen. Außerdem haben wir so auch beim Betrieb auf Kunden-Servern eine klare Trennung der Verantwortlichkeiten.

Qualität

Automatisierte Tests für Qualitätssicherung und minimale Fehlerrate

Wir legen hohen Wert auf unsere Code-Qualität, denn wer hier nachlässig ist, zahlt schon nach kurzer Zeit drauf. Für die Versionskontrolle verwenden wir Git über Plattform GitHub, die unsere Zusammenarbeit durch Pull-Requests und Code Reviews unterstützt. Für unseren Code schreiben wir Unit- und Integration-Tests - sowohl im Frontend (jest) als auch im Backend (pytest). Diese Tests sowie die Überprüfung korrekter Formatierung werden automatisch über die Continous-Integration-Plattform Codeship ausgeführt. Wir überwachen auch Fehler, die während der Nutzung des Projekts auftreten und haben ein Auge auf die Performance unserer Server. Dabei kommen Sentry und Prometheus zum Einsatz.

Wenn es hilft greifen wir tief in die Trickkiste

Unser Technologie-Stack bietet uns eine flexible Basis für die Entwicklung verschiedener Projektarten. Darüber hinaus passen wir unsere Lösungen an die spezifischen Probleme unserer Kunden an. Bei komplexen APIs kommt Graphql zum Einsatz. Wir arbeiten mit elasticsearch, wenn eine effiziente Search-Engine benötigt wird. Wenn das System periodische Aufgaben, wie den Versand von E-Mails oder die Erstellung eines Berichts übernehmen soll, fällt unsere Wahl in der Regel auf django-rq und Redis. Die von uns verwendeten Komponenten sind meist freie Software und wir tragen auch selbst zur Open-Source-Community bei. Auf GitHub finden Sie einige unserer veröffentlichten Bibliotheken

Cases (Django)