The Scalangular website is the website you are currently visiting. Its main purpose is to showcase us as a team and the projects we do. The website was built mainly with the Angular framework and also uses the Bootstrap grid system. However, the CSS components are mostly handmade. We opted for a modern black and white design. Also, the project uses Angular-Universal, a server-side rendering package offered by Angular to maximize SEO and minimize the time to first paint to get a better User Experience.
F1 League V2 is the second and actively developed iteration of the F1 League project. You can find the page here.
Compared to version 1, we developed a completely new Angular frontend, relying on functional reactive state management with ngrx and rxjs, and completely reworked the UI. Also, on the frontend side, we learned a lot about NX monorepos and GitLab CI, which we used to create a professional CI pipeline including advanced features like review apps. In addition, we also learned a lot about shell scripting and bash/zsh.
A new Kotlin-based Spring boot backend is used that leverages Spring's reactive capabilities through the use of coroutines.
One very cool addition is that the race results no longer need to be manually registered. Instead, the F1 PC game publishes certain events via a UDP Stream. Thanks to an npx package, developed by Mark Heimer we can use this stream at the races to generate a JSON file containing the results. You can then login on the website and upload the automatically created race result JSON for a certain race. It then gets evaluated by the backend and when everything is fine it will create the race results for the race automatically.
F1 League is an application that provides access to the results of an formula 1 tournament we are participating at since 2019. It displays the current league standings and can show the individual results per race. Furthermore, the individual driver results and the team performance can be viewed.
It consists of an angular frontend and a spring boot backend. The actual race results are provided via a webinterface in the frontend. What is interesting is that not the actual standing is saved but only the race results. The standing is then calculated from those results (event sourcing). A caching mechanism is used to improve performance.
The website can be accessed here but keep in mind that this site is one of our first projects together and has also been already replaced by a newer version.
My Party is a project developed in a university course on web development. It's an angular application that allowed publishing parties into a feed. We used Firebase to save those entries and make them available to other users. One could download an ICS file for a given party and tell that he/she will participate. Also we created a user management with the firebase auth package where you where also able to use the google auth provider. (Images will be added soon!)
BlockFight is a 2D arena shooter game with platformer elements. It is supposed to be played as a local 2-4 multiplayer game and is written with the Unity-Engine.
The project started as a spare-time project for me but later became part of a university project.
It utilizes Unity`s universal render pipeline, which allowed the creation of advanced 2D lighting. Normal maps are used to embed the textures `realistically` into the world.
Besides the code, all assets (animations, textures, et cetera) were developed by ourselves. The screenshots and gifs should provide a good impression of this.
The game supports PS4- and Xbox controllers as well as keyboard inputs.
This project was for an university course called "Programming of Client Server Applications", in which we programmed an Chat Tool whith which guests, traveling in a train from the Deutsche Bahn could connect with each other and chat, share information about current delays, help out if some travelers needs a charger or get information about their current journey. Therefore we took inspiration from the Jodel platform and used a channel based approach. In the different channels users could chat about specific topics. Also users could select one out of multiple given avatars and change their profile name. As technologies we used an Angular application for the frontend which was connected to an Rest API written in Java with the Spring Boot framework. Which is connected to an SQL Database. Unfortinatly there is no deployed instance of this project available but if you are interested you can check out the source code here
The DeMan Project is another university project of mine. Here we implemented a bill splitting application, which helps their users to keep track of open claims or debts they have on each other. Therefore they can create transaction between 2 or more users where they can give information about the sum and the description of the transaction. If the created transaction is acknowledged by all participants the transaction counts as valid. The debtors of the transaction are now able to make a transaction to compensate the debts. If the compensation is acknowledged again, there either is a saldo transaction with new debtors or the transaction is compensated and away. The application was implemented in the course Programming of Web Applications in the 6th semester. We split our team in Backend and Frontend developers. Max v. T. and Lorenz M. did mainly focus on the complex data-model and the backend implementation which they did with Python and the flask framework.
The rest of us: Titus T., Paul S. and me focused on the frontend part. The application was written in Angular in combination with the Universal Package for Server Side Rendering. We also tried to maximize re-usability with creating a bunch of reusable components for the view. Furthermore I put much time into how to handle the data with the state management library NgRx therefore I tried to follow a stateless observable service design pattern. Which I tried to implement in most parts of the application. Also this project was the first one, where I focused myself more on deployment and setup of CI/CD Pipes with Gitlab. Therefore i created a Pipeline which deploys on main with a specific commit message, matching an regex. The deployment was docker based to the Heroku platform.
You can check out the project on the following link:
TridentFlightFight is a Minecraft Spigot Plugin. It introduces a minigame in which one can fly with the elytra item, shoot tridents, and use rockets to boost themselves. More can be found on the official plugin page.
We are currently working on putting together all of our projects on this page.
Come back later to see more of our projects. Or check out our GitLab Group. (Link in the Navigation Menu)