Zurück zur Projektübersicht

SessionButler

Besondere Zeiten erfordern besondere Lösungen. Mit SessionButler wurde eine Webplattform geschaffen, um das Präsenztraining in die digitale Welt zu überführen. Trainer*innen wird hier die Möglichkeit gegeben, mit Ihren Teilnehmenden in virtuellen Räumen interaktive Sitzungen abzuhalten.

  • Webanwendung
  • Echtzeit mit Websockets
  • PHP, Laravel, NuxtJS, Vue.js
Sessionbutler 2

Projektbeschreibung

SessionButler ist eine Webanwendung, die virtuelle Räume bereitstellt, in denen Trainer*innen mit ihren Teilnehmenden interaktive Sitzungen durchführen können. Die Webanwendung ist modular aufgebaut und in einer API getriebenen Architektur umgesetzt.

Der Kern von SessionButler besteht aus einer PHP Webanwendung, die mit dem Applikationsframework Laravel umgesetzt wurde. Die PHP Webanwendung bedient insgesamt drei Webseiten, die für verschiedene Bereiche des Systems genutzt werden. Die Bereiche unterscheiden sich in die Verwaltungsoberfläche, die Oberfläche für die Teilnehmenden (sebu.tools) und einer klassischen Informations-Webseite für die Vorstellung und Vermarktung des Systems.

Die Informations-Webseite wurde mit einem Content-Management-System, in diesem Fall das System Craft CMS, umgesetzt. Zusätzlich haben wir an einigen Stellen Querverbindungen geschaffen, um dynamische Inhalte aus der Webanwendung direkt in die Webseite einzuspielen.

Die Verwaltungsoberfläche, genauso wie die Oberfläche für die Teilnehmenden, wurde als Single-Page-Applikation mit dem Applikationsframework Nuxt.js umgesetzt. Um Echtzeit Features innerhalb der Anwendung zu realisieren, also um beispielsweise die Geschehnisse in den virtuellen Räumen an alle Teilnehmer*innen zu übertragen, wird zusätzlich zur PHP Webanwendung ein Websocket Server eingesetzt.

Mit dieser Architektur ist SessionButler in der Lage, Trainer*innen eine Plattform anzubieten, um ihr Präsenztraining virtuell durchzuführen. Die Trainer*innen können innerhalb der Verwaltungsoberfläche Sitzungen und virtuelle Räume anlegen und mit entsprechendem Trainingsmaterial befüllen. Ferner können Trainer*innen eigenes Material direkt in SessionButler digital aufbereiten und für die Nutzung in ihren eigenen digitalen Sitzungen bereitstellen.

Verwaltungsseitig besitzt SessionButler ein eigenes Abosystem, das direkt mit PayPal gekoppelt ist und es ermöglicht, kostenpflichtige Abos zu verwalten und abzurechnen. Außerdem ist ein Affiliate-System direkt im Kern verankert.

Gerade bei diesem Anwendungsfall ist ein unterbrechungsfreier Update-Prozess (Deployment) essenziell, um keine Update-bedingten Ausfälle in laufenden Sitzungen zu haben. Daher setzen wir auch bei diesem Projekt auf ein „Zero-Downtime-Deployment“, das wir mit Laravel Envoyer umsetzen. Selbst kleinste Updates können somit völlig stressfrei und lautlos ausgerollt werden.

Sessionbutler 3

Facts

  • Umsetzung als Single-Page-Application (SPA)
  • Webanwendung mit angekoppeltem Content-Management-System
  • Echtzeit-Interaktion der Teilnehmer*innen über Websockets
  • API-driven Architecture
  • Server: PHP, Laravel, nginx
  • Frontend: NuxtJS, Vue.js
  • Zero-Downtime Deployment mit Laravel Envoyer
  • Versionierung: git
  • weitere Informationen: https://sessionbutler.de
Sessionbutler 1

Eingesetzte Technologien

Logo craft cms
Craft CMS
Logo
Vue.js
Nuxt icon
NuxtJS
Logo min
Laravel
Pay Pal
PayPal Payment
Websocket logo
WebSockets
Vertical logo monochromatic
Docker
Envoyer Logo
Envoyer
Php logo bigger
PHP