Database Exercise

Project Status

Project Finished: Take a look

Concept

This project was constructed as the finishing exam for the Modul "Programmierung 3" in my third semester of college. It outlines a simple REST Webserver with a XAMPP hosted Database. The commmunication between Server and Clients is done via XML Files. The Libraries are imported via Gradle with Groovy.

Description

The Server

The Server is based on the Libraries Grizzly and Jakarta. The Connection to the XAMPP Database is handled via the mariadb-java-client form org.mariadb.jdbc. The Login credentials to the Database are handled via a Porperty File holding the information (not ideal i know, but this is how we learned it back then). The packaging into the fitting XML File Format is done with a Marshalling Transformer I wrote myself. The Database uses the Singleton Design Pattern for Global Access.

The Client

The Client uses JavaFx to display its assets. The assets are stored in a FXML File, which is loaded on start. I used the Model-View-Controller Pattern for easier readability and modular construction. The user is able to delete, add and read the movies stored in the database and delivered by the server.

Pictures

I was the creative force behind Fallen Light. The general idea for this IP is mine. I created the story, characters and defined the general visual aspect of the IP. I also did some competition analysis and provided a general positioning for the game. Per the instructions and descriptions laid out by me in the design document and in conversation, Dennis Voigt and Jessica Musch drew and colored two of the main characters: The player and a traveling merchant.

The Angel Azazel The End
Create a Movie and store it in the Database.
The Angel Azazel The End
Delete a movie in the Database from the Client

Conclusion

This was the first larger scale Project I did in college. I applied everything I learned during Programmierung 3 and the project came out pretty good. Nowadays there are quite a few things I would do differently like having two sperate fxml Files for the Client and not 2 entire Modules. This project now serves as a reminder to myself on how far my programming skills have come since I started. Hence why I want to display it here.