Android App development was a intermediate step for me into the world of programming. I have been developing Android apps since at least 2015. I initially got into programming as I wanted to create Minecraft mods, thus I learned Java. Latter, I transitioned to developing my own Games, first with Slick2D and then with LibGDX. LibGDX is cross-platform and allows for developing desktop and mobile games from a single codebase. I did not own an Android device when I started developing for it.
Simple Pay
Simple Pay was developed as a Smartphone based payment solution for a "School-as-a-State" project at the Helmholtz Gymnasium. I was into cryptocurrency at the time and wanted to create a digital wallet for students to use within the school ecosystem. Additionally, it had the goal to be used without internet access. Simple Pay had a Blockchain-based approach and no server-side components, but with my friends and me acting as a central authority to validate transactions. Transactions were performed by scanning QR codes and connecting to each other's devices via Bluetooth or Wi-Fi Direct. It used a lot of cryptography, that I did not understand fully at the time. My understanding of cryptography at the time was very superficial. It was fun to develop, I learned a lot about Android development, I wanted to make the App comparable to existing simple yet highly engineered Android apps.
Drink Manager
Drink Manager is an app I developed to have an overview of Cocktail recipes and Cocktails overall. It's based on CocktailDB, a free API for cocktail recipes, but I ended up just downloading the data and storing it locally. The app was developed using Flutter. The App allows users to browse Cocktails by Categories, such as IBA classification, and by ingredients. Additionally, users can create shopping lists for the ingredients they need to make their favorite cocktails.
Rent and Lend
Rent and Lend was developed during my time at university in the Software Engineering Practice module. Its basically "Kleinanzeigen" for borrowing and lending items within a local community. It consisted of a frontend and backend, with the frontend built using Kotlin and the backend using Spring Boot. We used OpenAPI to document our RESTful API. The app was developed using the waterfall model, which is a requirement for the module.
Hotinert_two
Hotinert_two was developed for the Mobile computing and IoT module at university. It is also developed using flutter and is an app for the TECO affiliated Earable platform, which are earphones with integrated sensors. The app is a labyrinth game that uses the sensors to detect head movements and control the player's movement through the maze. Its inspired by the Among Us minigame "Weather Node". This game was developed in conjunction with a Tetris clone webapp that was controlled by the phones yaw and pitch sensors.
Glass Authenticator
Glass Authenticator is a replication of authentication schemes [0] for the Google Glass, which runs on Android. It provided three authentication methods: voice commands, head movement and touch. It additionally provided an admin panel to setup a user study and was configurable with QR codes. The Google Glass has very poor processing power, even these simple schemes had performance issues and it required extensive optimization to run smoothly.
[0] Y. Li, Y. Cheng, W. Meng, Y. Li and R. H. Deng, "Designing Leakage-Resilient Password Entry on Head-Mounted Smart Wearable Glass Devices," in IEEE Transactions on Information Forensics and Security, vol. 16, pp. 307-321, 2021, doi: 10.1109/TIFS.2020.3013212.