Projects on UAS-Technikum

Fantasy Game Console / "VEGO-Engine" (C++)

Git-Link(s): https://github.com/VEGO-Engine/Engine
https://github.com/VEGO-Engine
Timeframe/Context: 3rd to 5th semester Innovation Lab (INNO1-3)
Summary: INNO is a project class in teams of 5, each team chose a project from a list of (loosely) predefined projects.
Our project - Fantasy Game Console - is a game engine written in C⁠+⁠+, using the SDL-library. In INNO1 (see final hand-in for INNO1) we made a minigame - intended to familiarize ourselves with SDL - which we subsequently modified into a more general purpose engine.
To generate build files CMake was used.
Furthermore we used doxygen for documentation, for which I wrote a git hook to automatically generate the doxygen documentation client side, and a GitHub Actions to automatically publish the documentation to a GitHub Pages webpage. For the sake of brevity, I will not go into detail of the engines components on this page, as they are documented thoroughly on the linked GitHub Page.
The project has also been presented at the C++ Usergroup Vienna, for which the LaTeX source code can be found on my personal Gitea server, and I find it worth mentioning that I plan to continue VEGO-Engine as a personal project after finishing my bachelors degree.

Paperless (Java)

Git-Link: https://github.com/Nanogamer7/SWKOM/
Timeframe/Context: 5th semester "Softwarekomponentensysteme" software component systems (SWKOM)
Summary: Paperless is the semester project for software component systems, completed in teams of three students. The project is inspired by Paperless-ngx, and is a document storage service. The project is build in a micro service architecture, our task was to develop the web-interface - an Angular SPA and a REST-API using Spring Boot - and a OCR scanning service. For other services industry standard solutions were used: These include a PostgreSQL database, Minio to store the raw files, a RabbitMQ queue to communicate between the REST server and the OCR service, an Elastic Search full-text search engine to search through the indexed documents, and corresponding admin panels where applicable.
See the assigment document for more details.

Tour Planner (Java)

Git-Link: https://github.com/Nanogamer7/swen2-tour-planner
Timeframe/Context: 4th semester software-engineering (SWEN2)
Summary: Tour Planner is the final handin for software-engineering 2, and is done in teams of two or three students. The project features a JavaFX front-end, a Spring-boot based REST-server on the backend, interfacing with a PostgreSQL data-base, the OpenRouteservice API for routing and the OpenStreetMap Tile Server for rendering/displaying maps.
See the assigment document for more details.

Monster Trading Card Game (Java)

Git-Link: https://gitea.nanopenguin.at/nanopenguin/swen-mtcg
Timeframe/Context: 3rd semester software-engineering (SWEN1)
Summary: MTCG was the final handin for software-engineering 1. The project was writen in Java, and implements a REST-server, written from scratch. As a database, PostgreSQL was used. Full details can be found in the assignment document and the OpenAPI specifications.

TW-Mailer (C/C++)

Git-Link: https://github.com/fhtw-beni-team-projects/verts-twmailer
Timeframe/Context: 3rd semester "Verteilte Systeme" (VERTS)
Summary: TW-Mailer (assigment document basic/pro) was a team project (teams of 2) implementing a basic "mail"-system (client and server for exchanging messages in a given propriatary format) in C/C++ using functions from the C POSIX-library, and authentication via the FH-ldap service. The project uses Make for compiling.

MyFind (C/C++)

Git-Link: https://github.com/fhtw-beni-team-projects/verts-myfind
Timeframe/Context: 3rd semester "Verteilte Systeme" distrubted systems (VERTS)
Summary: MyFind (assigment document) was a team project (teams of 2) implementing a multi-threaded cli file search application in C/C++, focusing on the fork() and getopt() functions (and associated functionality) from the C POSIX-library for threading and parsing arguments. The project uses Make for compiling.

CLCOM (Docker, AWS, CI/CD)

Link: https://projects.nanopenguin.at/devops/
Timeframe/Context: 3rd semester "DevOps und Cloud Computing" (CLCOM) final hand-in
Summary: The final hand-in for CLCOM - done in teams of four* - was to set up CI/CD-pipeline in an AWS-environment, consisting of a GitLab-server and -runner at its core - both with a Docker-compose -, which builds and publishes a Docker-image on push to main for a specific repository (see .gitlab-ci.yml). Additionally we set our own DNS- and LDAP-server up, which both also were started via Docker-compose file.
*intended to be teams of four, due to some team members dropping out during the semester most parts were done only by me and one other student.

Chess (web, node.js)

Git-Link: https://github.com/fhtw-beni-team-projects/ITP
Timeframe/Context: 2nd semster IT-project (ITP)
Summary: ITP was a project class, with freely chosen projects in teams of 5. We made a chess website, with a vue.js frontend and a node.js backend, using the chess library chess.js. The project mostly served as one of our first collaborative projects, and thus as an introduction to git for some team members.

Scheduler (web, JS, PHP)

Git-Link: https://github.com/fhtw-beni-team-projects/WEBSC
Timeframe/Context: 2nd semester webscripting (WEBSC) final hand-in
Summary: The WEBSC assignment (assignment document, in German) was our first introduction to Java-/TypeScript, and consisted of a HTML/CSS/JS front-end, and a REST-server written in PHP. The assigment required a single-page application as a front-end. For data storage MySQL/MariaDB was used for which prepared-statements were a strict requirement. The final project can be viewed on my website: https://fhtw.nanopenguin.at/WEBSC/ (hosting was not a requirement for the project).

Hotel-webpgae (web, PHP)

Git-Link: https://github.com/fhtw-beni-team-projects/WEB1
Timeframe/Context: 1st semester "Web-Technologien" (WEB) final hand-in
Summary: The WEB assigment (assignment document, in German) was a PHP webpage with a MySQL/MariaDB database, for which prepared-statements were a strict requirement. Bootstrap was allowed for the project, but not used here. The final project can be viewed on my website: https://fhtw.nanopenguin.at/WEB1/ (hosting was not a requirement for the project).

Smaller assigments (C/C++)

Git-Link: https://github.com/Nanogamer7/c-cpp-collection/
Timeframe/Context: 1st to 3rd semester, various classes
Summary: This repostitory includes all completed C and C++ projects of the first 3 semesters from numerous classes, of which most didn't use git originally as the were smaller in scope and/or not collaborative. However as these include some more complex problems from classes like "algorithms and datastructures" ALGOS, I collectively uploaded them to the git repository linked above. Most projects include the assigment in pdf form, some unfortunately only in German.

Personal projects

WIP