1194 research outputs found
Sort by
Invoice Scanner App
In this day and age, invoices are received in a wide variety of formats. Some as physical
paper documents and others digitally. This makes it challenging to keep track of all
invoices, their status and other relevant information. To combat this issue a solution
should be created that allows scanning of physical invoices or uploading digital ones for
processing. Important information should be extracted and returned in a structured
format providing a tabular overview.
A mobile app for Android was developed for the frontend. The app is based on Kotlin
utilizing Jetpack Compose and Hilt. As a REST-API for the frontend to interact with, a
Python-based backend has been created using the FastAPI framework. The backend has
been containerized and runs on a virtual server behind a Traefik reverse proxy. Various
AWS services have been integrated for storage, including S3 and DynamoDB, as well
as computation with Lambda and data extraction using Textract, a machine learning
service that goes beyond ordinary OCR. The Firebase Cloud Messaging service was used
for push notifications.
The produced Invoice Scanner app solves the described problem. Invoices can be scanned
for automatic data extraction or manually created. The app provides an organized
overview of all invoices and options to edit, mark as paid and view the associated orig-
inal invoice file. Acting as a centralized place for invoices the app can be used for
management and archiving purposes
Antimony
The current tooling for emulating network topologies at OST relies heavily on an in-house solution called the Lab Topology Builder. While the LTB provides basic functionality, it has limited support for more advanced features and due to its in-house origins is also less likely to be maintained in the future. To combat this, OST decided to switch to an open-source alternative called Containerlab / Clabernetes which is currently being developed by SRL Labs.
The problem with this tooling, though, is that it's purely command-line based and there does not exist a graphical interface to this date. With Antimony, we want to provide an open-source solution to this issue. We aim to combine the existing, configuration-based, workflow with a graphical one which should help people, who are less experienced with Containerlab, to design and deploy their own network topologies with ease. Antimony provides a clean web-based editor which allows for editing of Containerlab / Clabernetes topology files, side-by-side with an interactive visualization of the network. Furthermore, it should serve as a platform to deploy new and manage existing network instances by lab maintainers as well as students.
It is important to note, that this is still a prototype and there is no connecting backend that talks to any Containerlab / Clabernetes software to actually deploy the labs. The backend to Antimony as well as a list of outstanding features are planned to be implemented in a future bachelors project at OST. Currently, Antimony is fully functional as a standalone Containerlab / Clabernetes topology editor
Coop Self-Checkout-Systeme neu definieren
Ziel des Projekts ist es, die Self-Checkout (SCO) Kassen von Coop mittels eines nutzerzentrierten Designkonzeptes, basierend auf den Prinzipien des Goal-Directed Designs zu optimieren. Dieses Designkonzept umfasst die Vereinfachung des Kaufprozesses für die Kundschaft und die Effizienzsteigerung der Arbeitsabläufe für das Personal. Im Fokus stehen das Verständnis für die Motivation der Kunden und Kundinnen bei der Nutzung der SCO-Kassen, die Identifikation ihrer charakteristischen Merkmale, die Verbesserung des Design- und Nutzungserlebnisses sowie das Erfüllen der Nutzererwartungen hinsichtlich Schnelligkeit und Nutzerfreundlichkeit. Im Zuge der Optimierung wird besonderer Wert auf Barrierefreiheit gelegt, um ein inklusives Nutzererlebnis zu gewährleisten. Der Entwurfsprozess richtet sich nach den Vorgaben des European Accessibility Act und berücksichtigt die Web Content Accessibility Guidelines «AA» Standard.
Im Rahmen der Projektarbeit wird ein Scoping Workshop aus dem Collaborative UX Design hinzugezogen, um den Rahmen und die Ausgangslage für das Projekt festzulegen. In Kooperation mit Coop werden Proto-Persona, Proto-Journeys, eine Proto-Problem-Statement-Map sowie eine Annahmen-Map entwickelt und zentrale Stakeholder identifiziert. Die Forschungsplanung bildet das Fundament für die Nutzerstudien in ausgesuchten Coop-Filialen. Stützend auf dieser Planung werden 13 Contextual Inquiries und 5 Experteninterviews in den Standorten Basel, Sargans und Zürich durchgeführt. Die Ergebnisse dieser Studien legen die Schwachstellen an den SCO-Kassen offen und bieten erste Ansätze für Usability-Verbesserungen der heutigen Systeme und Ideenentwicklung.
In der Modellierungsphase werden Forschungsergebnisse mittels des Atomic Research Ansatzes in definierte Artefakte überführt. Validierte Persona, User Journey Maps und Problem-Statement Map werden erstellt und die Annahmen-Map angepasst. Zur Erfassung des Ist-Zustands dienen eine Sitemap und eine Konkurrenzanalyse.
Die Definition der Anforderungen basiert auf den analysierten Daten und den Ergebnissen der Modellierung. Es entstehen Context Scenarios, die auf den Persona aufbauen und die funktionalen Bedürfnisse sowie Elemente aufzeigen. Das anschliessende Design Framework überführt diese Anforderungen in durchdachte und nutzerzentrierte Designs. Durch iteratives Sketching und Key Path Scenarios werden Wireframes und eine Soll-Sitemap entwickelt, die mittels Validation Scenarios überprüft werden. Dies stellt die Basis für die weitere Verfeinerung des Designs dar.
Über drei Iterationen hinweg werden mit insgesamt 10 Usability Tests an realen SCO-Kassen im Coop Supermarkt Basel Gundeli und 5 A/B-Tests die Designlösungen evaluiert und revidiert. Zusätzlich tragen Video- und Tonaufnahmen sowie der Einsatz eines Eyetracking-Tools zur Validierung bei. Die Validierung der Designlösungen umfasst zudem spezifische Tests zur Überprüfung der Einhaltung der WCAG-Kriterien, was nicht nur die Usability, sondern auch die Zugänglichkeit der SCO-Kassen verbessert.
Den Abschluss bildet der Design Support, in dem Coop eine Reihe von Dokumenten und Ergebnissen übergeben werden, darunter das Figma-Designfile mit dem Prototyp und nach Atomic Design organisierte Komponenten und UI-Spezifikationen
Settingsapplikation mit integriertem Plugin System
In this thesis, a plugin system for the existing ReSet application is developed.
ReSet is a settings application for Linux which aims to provide support for
multiple desktop environments and window managers/compositors. Therefore, ReSet
offers only a small set of core features due to its focus on universal
environment support. As such a plugin system is needed in order to offer
additional functionality.
The architecture of the plugin system was developed by analyzing existing
solutions for other software and by creating various prototypes to prove the
viability of each system on ReSet and its potential plugins.
The plugin system was ultimately developed with shared libraries which allows
for resource sharing in both the daemon and the user interface of ReSet without
the additional overhead of an interpreter.
To prove the plugin system, two exemplary plugins were developed in this thesis.
The first is a monitor plugin, which allows users to change individual settings
of each monitor and to rearrange their monitors. The second is a keyboard plugin
which allows users to add, remove and rearrange keyboard layouts. Combined with
the plugin system is a testing framework which also allows plugin developers to
include their tests within ReSet in order to allow integration tests.
In summary, the plugin system was successfully implemented, with both plugins
expanding the functionality as expected. Additionally, the plugin system offers
ReSet the opportunity to offer limitless potential in both environment and
hardware support, while also giving users the option to choose their own options
within ReSet
AI-assisted Digitalization of Landscaping plans
This thesis proposes a full-stack solution for the digitisation process of the Swiss Archive for Landscape Architecture (ASLA).
A desktop app is developed using Tauri, enabling the management of the archive’s data as well as the correction of AI predictions.
The AI pipeline is containerised using Docker and is accessible via a web API. Each plan is formatted and preprocessed, before three deep learning models are applied: a pretrained layout model (LayoutLMv3) to detect all text occurrences with k-means clustering to group text boxes into logical blocks, and a transformer-based OCR model (TrOCR) to extract text. Relevant entities are then identified using a custom-trained German BERT model. The output undergoes post-processing for formatting and normalisation, with project-specific keywords like the architect’s name filtered out. The predicted metadata is sent back to the client app where metadata files track all changes to the image, ensuring non-destructive editing.
Every weekend, the machine learning models are retrained on all the manually changed predictions. The thesis focuses more on implementing a robust pipeline and continuous retraining than on improving the models because continuous retraining is expected to enhance the AI pipeline’s performance over time.
The app significantly speeds up the digitisation process for the archive and is a substantial improvement over the old Excel-based workflow. The AI pipeline’s prediction accuracy varies by model. Marker detection is 100% reliable, and the OCR model reaches 98% ac- curacy after retraining on only 77 images. The NER model, currently at 46% accuracy, is about 10% better than the model from the SA project. If the accuracy continues to increase with additional training data, an F1-score of over 80% can be foreseen with 600 images. Thanks to the new app, these images can be collected in less than a month of archival work
BeLuA - Abklärungsinstrument im Kindesschutz
Mit dem „Berner & Luzerner Abklärungsinstrument im Kindesschutz“ (BeLuA) wurden auf wissenschaftlicher Basis Kriterien zur Beurteilung einer Kindeswohlgefährdung definiert, mit dem Ziel, objektivere und nachvollziehbare Entscheidungen in Abklärungsfällen treffen zu können. Das auf dem BeLuA Ansatz basierende BeLuA Tool – eine Webapplikation - ist der Gegenstand der vorliegenden Arbeit. Das BeLuA Tool wird im Kanton Zürich vor allem von Sozialarbeitenden in den Kinder- und Jugendhilfezentren (kjz) zur Unterstützung des Abklärungsprozesses verwendet.
In der vorliegenden Arbeit wurde anhand eines nutzerzentrierten Vorgehens ein neues Interaktionskonzept basierend auf dem BeLuA Ansatz entwickelt, mit den Zielen die Einfachheit der Bedienung und Attraktivität für die Nutzenden, sowie auch die Qualität und Effizienz der Abklärungsarbeit zu verbessern.
Angefangen wurde mit einer Nutzerforschung, um den Kontext und die Ziele der Nutzenden in Bezug auf den Abklärungsprozess besser zu verstehen. Anschliessend wurde in zwei Iterationen Lösungsansätze, Konzepte und Prototypen entwickelt, die wiederum mit Nutzenden getestet wurden.
Am Ende der Arbeit liegt das Konzept in Form eines Prototyps vor, welches von den Nutzenden grundsätzlich als nützlich, motivierend und attraktiv bewertet wird. Der vorliegende Konzept-Prototyp kann als funktionaler Prototyp bzw. MVP umgesetzt und pilotiert werden, um damit die Fragen bezüglich der Effizienz, Output-Qualität und Einfachheit der Bedienung abschliessend beurteilen zu können
UX Konzept für neurowissenschaftliche Software
Forschende in der Neurowissenschaft führen Experimente durch, in denen sie Gehirnaktivität und physiologische Aktivitäten analysieren und damit Hypothesen beantworten. Für die Durchführung der Experimente sind derzeit unterschiedliche Software-Lösungen und Hardware-Setups im Einsatz, welche Forschende vor Herausforderungen stellen. Eine zentrale Herausforderung stellen die zahlreichen manuellen Schritte im Prozess dar. Diese erfolgen teilweise analog und sind auch über verschiedene Systeme verteilt.
Die NEUROSPEC AG plant eine Stimulationslösung, in der verschiedene Hardwarekomponenten integriert werden. Dadurch sollen technische Probleme wie Verzögerungen von Triggern behoben werden. Das Projektteam evaluiert in dieser Arbeit, ob die angedachte Hardware-Lösung der richtige Ansatz ist und erarbeitet das Konzept für eine Software, welche weitere zentrale Probleme löst.
Zur Bearbeitung dieses Auftrags wird das Collaborative UX Design von Steimle & Wallach (2023) als Vorgehensmodell ausgewählt. Nach dem Schaffen eines gemeinsamen Problemverständnisses zusammen mit dem Auftraggeber werden in der Research und anschliessenden Synthese die heutigen Herausforderungen der Nutzenden analysiert. Aufgrund dieser Erkenntnisse wird die Idee für ein All-in-One Tool zur Reduktion der Komplexität des Setups entwickelt. Die Lösung integriert unter anderem die Probanden- und Terminverwaltung, einen Test-Modus, die Sichtbarkeit des Hardwarestatus sowie die Digitalisierung der Einverständniserklärung und des Logs.
Mit diesen verschiedenen Ideen und Optimierungsmöglichkeiten wird ein Prototyp erarbeitet, welcher in mehreren Iterationen mit Forschenden validiert wird. Aus den Erkenntnissen leiten sich schlussendlich die Roadmap und Empfehlungen an den Aufraggeber ab.
Die komplexe Thematik und die anfängliche Unsicherheit bezüglich des Projektumfangs stellen Herausforderungen dar. Eine strukturierte Arbeitsweise, regelmässige Retrospektiven und das fokussierte Arbeiten während dem Master-Wochenende sind Erfolgsfaktoren für die gelungene Zusammenarbeit und das erfreuliche Resultat.
Das Team konnte während dem ganzen Projekt die gelernten Methoden anwenden und wertvolle Erfahrungen für die zukünftige Praxis sammeln. Die unkomplizierte Zusammenarbeit mit dem Auftraggeber wurde sehr geschätzt. Die Zusammensetzung des interdisziplinären Teams mit den unterschiedlichsten wertvollen Fähigkeiten und die Stimmung während der ganzen Projektphase liessen nichts zu wünschen übrig
HSL Interpreter Rewrite
Hamilton Bonaduz AG is a leading provider of laboratory automation solutions, including liquid handling robots. Customers can program these robots through a domain-specific language called HSL (Hamilton Standard Language). The interpreter for this language is getting increasingly difficult to maintain and extend because it has continuously evolved over the years and is based on out-of-fashion technologies like Lex & Yacc. This thesis presents an architecture and prototype for a new HSL interpreter that can be used as a foundation for a complete rewrite of the existing interpreter.
The new interpreter is written in C# and leverages the ANTLR parser generator in combination with a custom AST (Abstract Syntax Tree) transformer. A recursive-descent parsing approach has been evaluated and detailed as an alternative. Preprocessor directives are parsed as part of the grammar and evaluated on the AST instead of in a dedicated preprocessor.
Replicating the existing interpreter's COM interface has been a critical requirement for the new design. This thesis suggests reusing the existing COM definitions by generating .NET interop assemblies. The prototype demonstrates the feasibility of this approach.
The interpreter can be extended with new features and instrument bindings through plugins. Based on .NET assemblies, this plugin system allows to extend HSL built-in functions without modifying the interpreter's source code
Web Anwendung für Medical Wellness Beratung
Abstract
Ausgangslage
Das Erstgespräch in der Physiotherapie, auch Anamnese genannt, bildet die Grundlage für die individuelle Behandlungsplanung. Physiotherapeuten erheben dabei relevante Informationen zur Krankengeschichte, den aktuellen Beschwerden sowie den Lebensumständen der Patientinnen und Patienten. Eine bedeute Herausforderung in der klinischen Arbeit ist es, das multidimensionale Profil der Patienten zu erfassen und darauf basierend eine für den Patienten nachvollziehbare Therapieplanung zu entwickeln. Trotz der zentralen Rolle dieser Anamnese existieren bisher keine allgemein anerkannten „Best Practices“ oder standardisierten Verfahren. Dies eröffnet Potenziale für die Entwicklung eines standardisierten Gesprächsprozesses, der durch ein digitales Tool unterstützt wird.
Ziel der Arbeit
Ziel dieser Studienarbeit aus dem Studiengang Informatik, die in interdisziplinärer Zusammenarbeit mit Studierenden des Studiengangs Physiotherapie durchgeführt wurde, ist die Entwicklung einer Webanwendung zur Unterstützung eines strukturierten und digitalisierten Anamnese Prozesses, inklusive Gespräch, Assessments und Therapieplanung. Die Physiotherapiestudierenden entwickelten den Gesprächsprozess, während Inhalte und Darstellung der Anwendung in enger Abstimmung beider Teams definiert wurden. Der Prozess umfasst die strukturierte Erfassung von Problembereichen mit der PRISM-Methode, eine situativ angepasste Patientenbefragung anhand von 1–5 standardisierten Fragebögen sowie die Durchführung von 4 physischen Assessments. Zum Abschluss präsentiert die Anwendung Therapeuten und Patienten eine visuell aufbereitete Ergebnisübersicht zur Diskussion der weiteren Behandlungsplanung.
Vorgehen / Technologien
Das Projekt wurde nach agilen SCRUM-Methoden umgesetzt. Die Entwicklung der Single-Page-Webanwendung basiert auf React, Tailwind CSS und Next.js. Datenschutzkonforme Datenverarbeitung wurde durch lokale Speicherung und Ausgabe mittels QR-Codes auf PDFs sichergestellt. Mockups wurden in Figma erstellt und iterativ getestet. Zwei erfolgreiche Tests des Gesprächsprozesses und der Anwendung in realistischen Settings im Kantonsspital Winterthur zeigten die hohe Usability, intuitive Bedienung und einfache Integrierbarkeit in bestehende IT Infrastrukturen. Die entwickelte Lösung ermöglicht eine sichere, flexible und benutzerfreundliche Unterstützung des Anamnesegesprächs und bietet Potenzial für den Einsatz in weiteren Kontexten
Cloud-Native Network Controller
The philosophy in application operations has changed significantly over the last few years. Most applications no longer run on dedicated servers but have been migrated to virtual machines. For some time, they were used as best practices. Nowadays, applications are already developed in a cloud-native manner for easy deployment in container-based infrastructures. What happened in the meantime in the domain of network configuration management? The focus was set on automation enhancement with popular tools like Ansible and various proprietary solutions. They provide a one-shot way of deployment, where the configuration will be applied but still leave the possibility open to overwrite the changes manually. In this approach, there is no built-in self-healing of configuration drift. A group of network engineers is developing a tool stack around Kubernetes, allowing the user to leverage its cloud-native advantages for network configuration.
The objective of this bachelor thesis is to analyze the main component of the tool stack SDC (Schema Driven Configuration) in the use case of automating an EVPN fabric. The analysis shall examine the operating principle of SDC while also considering its place in the cloud-native ecosystem from data source to the device. Based on the analysis, a verdict should be given on SDC’s fulfillment of requirements, multi-vendor compatibility, and readiness for use in production.
The findings prove that SDC follows great principles: It is designed to be vendor agnostic, working with virtually every vendor that supports Netconf or gNMI as a configuration interface and is customizable. This facilitates avoiding vendor lock-in. Being comprised of Kubernetes resources, SDC works completely declaratively and uses a mechanism for continuous reconciliation. The tool is open-source. Therefore, it is possible for anyone to use and improve it.
Since SDC is still in heavy development, the authors also found a few minor bugs - some of which have been fixed during this project. The more significant issue lies in the usage of YANG: SDC uses YANG schemas to validate the configuration before writing it to the devices. It was found that SDC often has trouble loading these schemas either because of bugs in SDCs loading mechanism or due to the fact, that some of the (vendor-supplied) schemas contain many deviations which lead to breaking the configuration tree. Therefore, using SDC in production requires a fair amount of effort to rework the available YANG schemas for the devices.
SDC integrates with Kubenet as the configuration generation component. It first enables the creation of an abstract configuration, which will then be transformed into the device-specific configuration. Due to some disadvantages of running the configuration creation in Kubernetes, such as the lack of a good way to do a dry run, a new tool called Choreo exists. It replicates the API functionality of Kubernetes while providing additional functionality, such as running to completion with either a successful or failed result. These tools’ customizability enables extreme flexibility but also increases their complexity, and many components for their functionality must still be created. This development is expected to be done by the user or the community as they have not (yet) been provided by the developers. As can be seen, SDC still needs some time for development to be entirely usable in productive environments. Nevertheless, it has many exceptional traits, making it inimitable in the current market