Digitale Verwaltungslösungen
Für Kommunen, Behörden und öffentliche Einrichtungen.
-
🏢 Betrieb & Support
langfristige Betreuung
-
👥 feste Ansprechpartner
direkte und persönliche Kommunikation
-
✅ BITV & WCAG
barrierefreie Entwicklung
-
🌐 Portale & Websites
Online-Dienste & Formulare
-
🇩🇪 Deutsche Infrastruktur
Hosting in Deutschland
-
📄 Fachanwendungen
z.B Swoop Meeting, IT Angebote optimieren
Fallbeispiel: IfBQ – Befragungs- und Online-Test-Portale
Für das IfBQ entwickeln und modernisieren wir Befragungs- und Online-Test-Portale für unterschiedliche Einsatzbereiche. Dabei optimieren wir bestehende Anwendungen, erweitern Funktionen und verbessern Bedienbarkeit, Barrierefreiheit sowie Rollen- und Rechtekonzepte. So entstehen nachhaltige digitale Lösungen, die sich flexibel an neue fachliche und technische Anforderungen anpassen lassen.
Fallbeispiel Kunde Transfracht (DB)
Für Transfracht (DB) übernehmen wir die Weiterentwicklung und schrittweise Modernisierung einer über Jahre gewachsenen Legacy-Verwaltungssoftware. Dabei entwickeln wir bestehende Anwendungen und digitale Geschäftsprozesse im laufenden Betrieb weiter und ergänzen neue Funktionen und Schnittstellen. So bleibt das bestehende System zuverlässig nutzbar und wird gleichzeitig technisch und funktional zukunftsfähig weiterentwickelt.
Unser Leistungsspektrum
Erfahrung aus Projekten für öffentliche Auftraggeber sowie aus zahlreichen komplexen Digitalprojekten für Unternehmen und Organisationen bildet die Grundlage unserer Arbeit. Bestehende Systeme können wir übernehmen, verstehen und weiterentwickeln – ohne zwangsläufig alles neu zu bauen. Unser Leistungsspektrum umfasst den gesamten Entwicklungsprozess – von der ersten Idee bis zur erfolgreichen Inbetriebnahme und redaktionellen Betreuung. Wir entwickeln ein passendes Corporate Design (CI) oder optimieren Vorhandenes, so dass die Identität und Werte der Organisation klar widerspiegelt werden. In der proaktiven Beratung und Konzeptentwicklung legen wir Wert auf Nutzerfreundlichkeit (UX), Barrierefreiheit und ein überzeugendes gestalterisches Gesamtkonzept. Unser Team gestaltet das visuelle Erscheinungsbild deiner Webanwendung – vom Look & Feel über Screendesigns und Farbsysteme bis hin zur nahtlosen Integration von Medien. Die technische Umsetzung erfolgt nach modernsten Standards, inklusive einer flexiblen CMS-Anbindung, die eine einfache Pflege der Inhalte ermöglicht. Abschließend führen wir umfassende Tests, Optimierungen und Barrierefreiheitsprüfungen durch, um höchste Qualität und gesetzeskonforme Zugänglichkeit sicherzustellen. Eine ausführliche Dokumentation sowie Schulungen ermöglichen es, die Anwendung anschließend eigenständig redaktionell weiterzubetreiben.
Das Team hinter SWOOP
Hani
Carlos
Andreas
Janik
Bernd
Nicole
Michael
Eingesetzte (Kern-) Techniken
Was uns ausmacht?
Swoop ist dein Hafen – ein Ort, an dem deine digitalen Projekte sicher anlegen und weiter wachsen können. Bei uns findest du technisches Know-how unter einem Dach vereint, damit du schnelle Wege, klare Antworten und passgenaue Lösungen bekommst.
Du liebst Herausforderungen? Wir auch. Bring uns deine Herausforderung, und du bekommst eine Lösung, die durchdacht, sauber und nachhaltig ist. Seit PHP Version 3 sind wir dabei und haben unterwegs mehr Fehler gesehen, als wir zählen können – und genau davon profitierst du. Wir wissen, was funktioniert, was schiefgehen kann und wie man Systeme stabil und zukunftssicher baut.
Wir übertreiben nicht. Du bekommst von uns realistische Einschätzungen, ehrliche Aussagen und Ergebnisse, die halten, was wir versprechen. Gleichzeitig denken wir über den Tellerrand hinaus – ob funktionale Programmierung oder neue Technologien, wir bringen frische Perspektiven mit, die deinem Projekt Mehrwerte liefern.
Zaubern können wir nicht. Aber du bekommst von uns solide Arbeit, transparente Prozesse und ein Team, das mit Leidenschaft daran arbeitet, deine digitale Welt besser, reibungsloser und erfolgreicher zu machen. Und ja, wo gearbeitet wird, fallen auch Spähne.
Du hast ein gutes Gefühl?
Lass uns herausfinden, wie wir am besten miteinander arbeiten können. Gerne begleiten wir dich in unseren Hafen. Gemeinsam analysieren wir, wo du stehst, wohin du willst und welche digitalen Lösungen dich weiterbringen. Ob Strategie, Design, Entwicklung oder kontinuierliche Betreuung – wir begleiten dich transparent, partnerschaftlich und mit dem Anspruch, eine passende technische Lösung zu finden.
Swoop Meilensteine
-
KIChatgtp (Rest API), Voice Generierung, Bildgenerierunghttps://contentifyr.com
-
strkrMit den Anfängen von Chatgtp wurde die Sportnachrichtenseite ins Leben gerufen. Vollautomatisiert werden Artikel und Bilder generiert.https://strkr.de
-
Swoop Online UGSwoop nach Bexit.https://swoop.de
-
Stromtarif PLattform Für Tarifenengel24.dehttps://tarifenengel24.de
-
erste PlattformSwoop bekommt eine Plafform ähnlich wie wlw.de. Erste Version basiert auf Koseven, dem Vorfolger von Codeigniter.https://swoop.de/backend
-
Swoop Marketing LtdSwoop erblickt das Licht der Welt. Gegründet aus Leidenschaft. Mit dem Brexit wurde Swoop Marketing Ltd von der Swoop Online UG abgelöst.https://swoop.de
über 200 erfolgreich umgesetzte Projekte
Techniken im Einsatz
250K+ Codezeilen
ohne KI geschrieben{
"type": "module",
"scripts": {
"js": "bun run _scripts/js.mjs",
"scss:prod": "sass files_resources/scss/app.scss --style=compressed | postcss --config postcss.config.cjs -o files/assets/css/app.min.css",
"scss": "sass files_resources/scss/app.scss files/assets/css/app.min.css --style=compressed --source-map",
"scss:be": "sass files_resources/scss/be.contao.scss assets/css/be.contao.css --style=compressed --source-map",
"scss:be:prod": "sass files_resources/scss/be.contao.scss --style=compressed | postcss --config postcss.config.cjs -o assets/css/be.contao.css",
"postcss": "postcss files/assets/css/app.min.css --use autoprefixer cssnano postcss-import @tailwindcss/postcss -o files/assets/css/app.min.css",
"svg:copy": "cpy 'files_resources/svg/**/*.{svg,SVG}' '!files_resources/svg/brands/**/*.{svg,SVG}' '!files_resources/svg/technique/**/*.{svg,SVG}' files/assets/svg",
"svg:modify": "bun run _scripts/modify-svg.mjs",
"img:copy": "cpy 'files_resources/img/**/*.{png,jpg,jpeg,gif,ico}' files/assets/img",
"fonts:copy": "cpy 'files_resources/fonts/**/*' 'node_modules/@fortawesome/fontawesome-free/webfonts/*' files/assets/fonts",
"build": "bun run js && bun run scss && bun run postcss && bun run svg:copy && bun run svg:modify && bun run img:copy && bun run fonts:copy && bun run scss:be",
"watch": "chokidar 'files_resources/**/*.{scss,js}' -c 'bun run build'"
}
}
# This job runs in the deploy stage.
deploy-job:
image: $IMAGE_DEPLOY_ONLY
stage: deploy # It only runs when *both* jobs in the test stage complete successfully.
environment:
name: production
only:
- main # nur in main branch ausführen!
# variables:
# GIT_STRATEGY: none # Git-Checkout für diese Stage verhindern, [none,fetch,clone]
before_script:
- mkdir -p ~/.ssh
- echo $SSH_PRIVATE_KEY_AS_BASE_64 | base64 -d > ~/.ssh/$FILENAME_SSH
- chmod 600 ~/.ssh/$FILENAME_SSH
- eval $(ssh-agent -s)
- ssh-add ~/.ssh/$FILENAME_SSH
# Erstelle die SSH Konfigurationsdatei
#ServerAliveInterval 60\n ServerAliveCountMax 2\n ExitOnForwardFailure yes
#ServerAliveInterval 60 → Sendet jede 60 Sekunden ein Keep-Alive-Signal.
#ServerAliveCountMax 2 → Trennt die Verbindung, wenn 2 Keep-Alive-Signale ausbleiben.
#ExitOnForwardFailure yes → Verhindert das Offenlassen von hängenden SSH-Verbindungen.
- echo -e "Host $SSH_CONFIG_HOST\nHostName $SSH_CONFIG_HOSTNAME\nUser $SSH_CONFIG_USER\nPort $SSH_CONFIG_PORT\nIdentityFile ~/.ssh/$FILENAME_SSH\nIdentitiesOnly yes\nStrictHostKeyChecking no\nServerAliveInterval 60\nServerAliveCountMax 2\nExitOnForwardFailure yes" > ~/.ssh/config
- chmod 644 ~/.ssh/config
# Verhindert SSH-Warnungen
- echo $SSH_CONFIG_HOSTNAME $SSH_CONFIG_HOST >> /etc/hosts
- cat /etc/hosts
- echo $SSH_CONFIG_HOST
- ssh-keyscan $SSH_CONFIG_HOST > ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- cat ~/.ssh/known_hosts
#Erstelle unter _dep/from_gitlab_to_live eine neue .deploy.env Datei
- echo "PHP_VERSION=$PHP_VERSION" > ./_dep/from_gitlab_to_live/.deploy.env
- echo "PHP_CMD=/usr/bin/php$PHP_VERSION" >> ./_dep/from_gitlab_to_live/.deploy.env
# Achtung WEB_PATH_LOCAL wird zusammengesetzt
- echo "WEB_PATH_LOCAL=/builds/$CI_PROJECT_PATH/" >> ./_dep/from_gitlab_to_live/.deploy.env
- echo "WEB_PATH_REMOTE=$DEPLOYER_WEB_PATH_REMOTE" >> ./_dep/from_gitlab_to_live/.deploy.env
- echo "CHOWN_USER=$DEPLOYER_CHOWN_USER" >> ./_dep/from_gitlab_to_live/.deploy.env
- echo "CHOWN_GROUP=$DEPLOYER_CHOWN_GROUP" >> ./_dep/from_gitlab_to_live/.deploy.env
- echo "HOST_SSH_CONFIG=$SSH_CONFIG_HOST" >> ./_dep/from_gitlab_to_live/.deploy.env
- echo "RSYNC_FILTER_FILE=$DEPLOYER_RSYNC_FILTER_FILE" >> ./_dep/from_gitlab_to_live/.deploy.env
- echo "RSYNC_FILTER_FOR_BUILD_FILE=$DEPLOYER_RSYNC_FILTER_FOR_BUILD_FILE" >> ./_dep/from_gitlab_to_live/.deploy.env
const parseColor = (color) => {
const normalized = color.trim().toLowerCase();
if (normalized === 'white') {
return { r: 255, g: 255, b: 255 };
}
const hex3 = /^#([0-9a-f]{3})$/i.exec(normalized);
if (hex3) {
const r = parseInt(hex3[1][0] + hex3[1][0], 16);
const g = parseInt(hex3[1][1] + hex3[1][1], 16);
const b = parseInt(hex3[1][2] + hex3[1][2], 16);
return { r, g, b };
}
const hex6 = /^#([0-9a-f]{6})$/i.exec(normalized);
if (hex6) {
const r = parseInt(hex6[1].substring(0, 2), 16);
const g = parseInt(hex6[1].substring(2, 4), 16);
const b = parseInt(hex6[1].substring(4, 6), 16);
return { r, g, b };
}
const rgbMatch = /^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/.exec(normalized);
if (rgbMatch) {
return {
r: parseInt(rgbMatch[1], 10),
g: parseInt(rgbMatch[2], 10),
b: parseInt(rgbMatch[3], 10)
};
}
const rgbaMatch = /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d*\.?\d+)\s*\)$/.exec(normalized);
if (rgbaMatch && parseFloat(rgbaMatch[4]) >= 1) {
return {
r: parseInt(rgbaMatch[1], 10),
g: parseInt(rgbaMatch[2], 10),
b: parseInt(rgbaMatch[3], 10)
};
}
return null;
};
Andreas Schreck
+49 152 542 46 261
Datenschutzinfos und Einstellungen
Diese Webseite verwendet Cookies bzw. Drittanwendungen, um bestimmte Funktionen zu ermöglichen und das Angebot zu verbessern.
Schützt vor Cross-Site-Request-Forgery Angriffen.
Speichert die aktuelle PHP-Session.
Anwendungen Dritter zu Analysezwecken für unseren Webauftritt
