Microservice - Based DTU Payment System



Keywords: TDD, DDD, Event Storming, REST API, SOAP
Tech Stacks: Java, Docker, Jenkins, Cucumber, RabbitMQ
This project was developed at DTU in the course Software Development of Web Services. The project was completed by me and other 5 fellow students in January 2025.
The system consists of seven microservices, each responsible for handling specific domains within the application. These services communicate with one another via RabbitMQ, enabling asynchronous communication through RabbitMQ queues. This approach effectively decouples the services, allowing them to operate independently.
When an event occurs in the system, it is created with a topic and a payload containing relevant data. Each microservice registers handlers for specific event topics so that, when an event occurs, the corresponding handler processes it. In addition to RabbitMQ, the three facades provide REST interfaces supported by Quarkus, allowing DTUPay customers, merchants, and managers to interact with the system through their respective apps.
Tracking Module for DTUsat Ground Station (Bachelor Thesis)




This project was developed at DTU as my bachelor’s thesis, which I completed along with another fellow student from February 2024 to June 2024. The project was supervised by Associate Professor Hans Henrik Løvengreen of the DTU Compute at DTU.
The project deals with the design, implementation and testing of a new tracking module for DTUsat Ground Station, which improves its existing satellite tracking capabilities, enhancing operational efficiency and setting the stage for future expansions to include tracking of other aerial objects. The project was developed in Java, along with its GUI implemented using JavaFX.
The updated module retains essential features such as automatic tracking and introduces manual controls for rotors and radios. It also includes customizable offset adjustments for various transmitters, integrated recording functions, and a user-friendly graphical interface. The project is involved as part of the ESA’s YPSat project tracking mission, which is used to track the flight of the Ariane 6 rocket scheduled to be launched in July 2024.
We continued to develop and optimize our tracking module during the Fall of 2024 for the project ‘Tracking Optimization for Ground Station.
FFT - FPGA Parametrization




This project was developed at DTU in the course Projects in Digital hardwaredesign for Communications. The project was completed by me and other 3 fellow students in January 2024.
The project deals with the design, implementation, validation and deployment of a Fast Fourier Transform (FFT) using VHDL for design description, ModelSim for validation and the Intel Quartus toolchain for deployment onto an FPGA-board, namely the Terasic DE10-Lite featuring an Altera MAX 10 FPGA.
The design utilises butterfly elements structured using a decimation in frequency (DIF) approach and supports complex and decimal inputs. The primary design philosophy is for the design to be highly and easily parameterisable with regards to variables such as the bit-width used in the number representation and the number of points.
Home Organizer











This app was developed at DTU in the course Software Technology Project. The project was completed by me and other 3 fellow students during spring 2023.
Home Organizer is a mobile application developed in Kotlin for Android devices that helps users to organize their home life in cooperation with their housemates or family members.
- Chat: Chat with your housemates or family members.
- To-do List: Keep track of all household chores and tasks.
- Shopping List: Add items to your shared shopping list that everyone can view and edit.
- Calendar: Plan ahead with the shared calendar.
- Expense Sharing: Keep track of shared expenses.
GCL-Build-Analyse-Verification






This tool was developed at DTU in the course Computer Science Modelling. The project was completed by me and another fellow student during spring 2023. The tool was written in F#.
GCL-Build-Analyse-Verification is a tool for running and analysing programs written in a variant of the Guarded Command Language (GCL); details of the language are described here. The overall structure of the program is illustrated on the left, where green boxes are the inputs and outputs of our tool; blue boxes represent components that we have to implement.
This analysis tool can also be explored in the interactive tool using Inspectify.
SpaceChat

This application was developed at DTU in the course Introduction to Coordination in Distributed Applications. The project was completed by me and 3 other fellow students in January 2023.
The application has been written in Java19 using the jSpace library to support the paradigm and the javaFX library for constructing a friendly graphical user interface (GUI).
SpaceChat is a peer-to-peer chat service that enables users to communicate directly with each other, when they have been connected to each other by a central server. To achieve this correctly, coordination between distributed systems is paramount and this is done by utilizing the tuple space paradigm. This is done through an algorithm where peers create spaces between each other and always make room for the next peer.
Space Shooter




This game was developed at DTU in the course Programming Project. The project was completed by me and 2 other fellow students in June 2022.
The game was written in the C programming language targeting an STM32 microcontroller communicating with a desktop machine via the PuTTY serial interface, with the possibility of multiple different ways to control the game, including both inputs from a soldered on NUCLEO board and external modules. The program has been built up to follow a scalable three-layered design pattern, separating hardware from game logic and with a focus on reusability in mind.
Gorillas

This game was my first large project at DTU in the course Introduction to software technology and was completed by me and 3 other fellow students in January 2022. The game was developed using JavaFX with the MVC framework.
This game was developed based on the classic game Gorillas. We improved the picture quality and gaming experience. Players can customize wind speed, gravitational acceleration, the number of clouds, etc. In addition, players can also save the current game data (JSON) to continue the game next time.
RestaurantManagementSystem

I designed and made Restaurant Management System during my summer vacation in 2021. The system currently includes the functions of menu management and order management.
This is my first time to develop with WPF and MVVM architecture. The program is designed and developed using Xaml and C# languages. The system is still in the development stage, so the project is currently not visible on GitHub.
SpaceInvaders

Space Invaders was my high school programming exam project in 2021. This game is designed and programmed using Processing. The game imitates the classic game Space Invaders, and on this basis, the game has been optimized for art and gameplay.
You can visit my GitHub page for more detailed reading. Please note that some referenced libraries may be out of date.
VacuumOptimizer

The project was the exam project for the course digital design and development in my high school and was completed by me and 3 other classmates in 2021. The project was written in C# and designed to optimize the path of the sweeping robot. We designed an interface where the user can import a map (including obstacles), and the program will analyze the map and then plan the shortest path.
I was responsible for the design of the algorithm. Path planning draws on the solution of the TSP problem using the genetic algorithm to iterate and select the optimal solution within a certain time range. In the final verification test, the algorithm failed to solve the problem when there were more obstacles. The reason was that the solution ideas of cross-over and mutation in the GA were not optimal solutions, resulting in almost the same path generated, which led to a lot of time waste.
Web Design And Development



I designed and produced websites (both front-end and back-end) for two restaurants in 2017 and 2018. The website can accept customers’ reservations and display them on the specified page on the website, which is convenient for restaurant operators to check and process.
The websites were designed with Amazeui at the time (now unavailable), and the backend was developed with PHP, SQL and JavaScript.