This monorepo contains the Munich-specific adjustments to the original Berlin version. You can explore the original project here: https://gitlab.com/eappointment/eappointment
Public E-Appointment is a software for online booking of appointments and processing of queues such as calling appointment numbers and collecting statistics on services provided.
The software has been used in public administration in the German capital Berlin for more than 20 years and has been redeveloped under a new license since 2016. This allows the software to be re-released under the EUPL, an open source license recognized by OSI.
It is planned to release the software as open source in the course of 2022/2024. This requires a number of adjustments, so that step by step the individual components of the software will be published here. On the one hand, the documentation of the software is published in this repository, on the other hand, new ideas and further developments are planned here, which apply across the board for the other repositories.
The ZMS system is intended to manage human waiting queues. It has the following features:
- make appointments via a calender and initiate a process to manage an appointment
- import requests (services) and providers (locations) from external sources
- manage scopes for appointments, including a four level hierarchy of owner->organisation->department->scope
- manage opening hours including closed days
- login-system with different access levels
- pickup for documents
- ticketprinter support for customers without appointments (authenticated, lockable, timeable)
- calldisplay support
- collecting statistics like waiting time or served clients per day
- emergency call for employees
ZMSAPI Documentation ZMSCITIZENAPI Documentation
Overview BerlinOnline Stadtportal GmbH & Co KG Contact:
Munich Contact: it@M - opensource@muenchen.de
BerlinOnline Stadtportal GmbH & Co KG and it@M.
Dieses Monorepo enthält die München-spezifischen Anpassungen der ursprünglichen Berliner Version. Das ursprüngliche Projekt kannst du hier erkunden: https://gitlab.com/eappointment/eappointment
Die Public E-Appointment-Software ist eine Software für die Online-Buchung von Terminen und die Bearbeitung von Warteschlangen, wie das Aufrufen von Terminnummern und das Sammeln von Statistiken über erbrachte Dienstleistungen.
Die Software wird seit mehr als 20 Jahren in der öffentlichen Verwaltung der deutschen Hauptstadt Berlin verwendet und wird seit 2016 unter einer neuen Lizenz weiterentwickelt. Dies ermöglicht eine Wiederveröffentlichung der Software unter der EUPL, einer von der OSI anerkannten Open-Source-Lizenz.
Es ist geplant, die Software im Laufe der Jahre 2022/2024 als Open Source zu veröffentlichen. Dafür sind einige Anpassungen erforderlich, sodass die einzelnen Komponenten der Software schrittweise hier veröffentlicht werden.
Einerseits wird die Dokumentation der Software in diesem Repository veröffentlicht, andererseits sind hier neue Ideen und Weiterentwicklungen geplant, die bereichsübergreifend für die anderen Repositories gelten.
Das ZMS-System dient zur Verwaltung von Warteschlangen für Menschen. Es bietet folgende Funktionen:
- Termine über einen Kalender vereinbaren und einen Prozess zur Verwaltung eines Termins initiieren
- Anfragen (Dienste) und Anbieter (Standorte) aus externen Quellen importieren
- Verwaltung von Terminbereichen, einschließlich einer vierstufigen Hierarchie von Eigentümer->Organisation->Abteilung->Bereich
- Verwaltung von Öffnungszeiten einschließlich geschlossener Tage
- Login-System mit verschiedenen Zugriffsebenen
- Abholung von Dokumenten
- Unterstützung für Ticketdrucker für Kunden ohne Termine (authentifiziert, abschließbar, zeitgesteuert)
- Unterstützung für Anzeigesysteme für Aufrufe
- Sammeln von Statistiken wie Wartezeiten oder bedienten Kunden pro Tag
- Notruf für Mitarbeiter
ZMSAPI-Dokumentation ZMSCITIZENAPI-Dokumentation
BerlinOnline Stadtportal GmbH & Co KG Kontakt:
Munich Kontakt: it@M - opensource@muenchen.de
BerlinOnline Stadtportal GmbH & Co KG und it@M.
ddev start
ddev exec ./cli modules loop composer install
ddev exec ./cli modules loop npm install
ddev exec ./cli modules loop npm build
ddev import-db --file=.resources/zms.sql
ddev exec zmsapi/vendor/bin/migrate --update
Pass the PHP version that you would want to upgrade to and recieve information about dependency changes patch, minor, or major for each module. e.g.
ddev exec ./cli modules check-upgrade 8.1
ddev exec ./cli modules check-upgrade 8.2
ddev exec ./cli modules check-upgrade 8.3
To run unit tests locally refer to the Github Workflows: https://github.com/it-at-m/eappointment/blob/main/.github/workflows/unit-tests.yaml and in your local docker container run:
ddev ssh
cd {zmsadmin, zmscalldisplay, zmsdldb, zmsentities, zmsmessaging, zmsslim, zmsstatistic, zmsticketprinter}
./vendor/bin/phpunit
For zmsapi and zmsdb you must first import the test data which unfortunately overwrites your local database. For zmsclient you need the php base image.
To keep our branch names organized and easily understandable, we follow a specific naming convention for all branches created in this repository. Please adhere to this convention when creating new branches:
-
type: The type of work the branch represents. This should be one of the following:
feature
: For new features or enhancements.bugfix
: For bug fixes.hotfix
: For urgent fixes that need to be applied quickly.cleanup
: For code refactoring, or documentation updates.docs
: For updating documentation such as the README.md CODE_OF_CONDUCT.md LICENSE.md CHANGELOG.md CONTRIBUTING.md. Providing a ticket number or project for docs is optional.chore
: For maintaining and updating dependencies, libraries, PHP/Node/Twig Versions, or other maintenance work.
-
project: The project identifier. This should be:
zms
for the ZMS project.mpdzbs
for the MPDZBS project.
-
issue number: The ticket or issue number related to this branch (use digits only). This helps track the branch to a specific issue in the project management system.
-
description: A brief, lowercase description of the branch's purpose, using only lowercase letters, numbers, and hyphens (
-
).
- Always use lowercase letters and hyphens for the description.
- The issue number should be a numeric ID corresponding to the relevant ticket or task.
- Descriptions should be concise and informative, summarizing the branch's purpose.
- Feature Branch:
feature-zms-12345-this-is-a-feature-in-the-zms-project
- Bugfix Branch:
bugfix-mpdzbs-67890-fix-crash-on-startup
- Hotfix Branch:
hotfix-zms-98765-critical-fix-for-login
- Cleanup Branch:
cleanup-mpdzbs-11111-remove-unused-code
- Chore Branch:
chore-zms-2964-composer-update
- Docs Branch:
docs-zms-0000-update-readme
docs-zms-release-40-update-changelog
The branch name must match the following regular expression:
^(feature|hotfix|bugfix|cleanup|maintenance|docs)-(zms|mpdzbs)-[0-9]+-[a-z0-9-]+$
For further commit rules please refer to https://www.conventionalcommits.org/en/v1.0.0-beta.4/