Welcome to VaultGuard, your secure password manager. VaultGuard is a Java-based platform that works like a virtual keychain to securely manage all your passwords. Create and store strong, unique passwords for any online application easily and securely.
The vault_guard
project is the result of a dedicated collaboration between the members of our Team. Our goal was to develop a robust and efficient Password Manager solution that is both secure and user-friendly. The project is written in Java and uses Gradle and Kotlin as a build tool. With a clear structure and well-documented code, we aim to facilitate the maintenance and further development of the project. We hope you enjoy using Vault Guard as much as we enjoyed developing it!
Our system architecture is designed to ensure a robust, scalable and maintainable software product.
Modularity and reusability: We achieve a high degree of modularity by strictly separating models and views. The models, which represent the implementation of the logic, have minimal to no insight into the design and control of the views. Similarly, the views and the associated controllers are not informed about the data processing and storage in the models. This enables the entire user interface to be exchanged without any problems.
Extensibility: We strive for high extensibility by ensuring a good encapsulation and clear division of responsibilities between model and view by applying the observer pattern. We adhere to a clear structure and modularity and keep important, currently unused methods in the code to facilitate future extensions, such as the method for removing listeners.
Data consistency: By using a central main model, which is responsible for central data management, we can bundle all data relevant to the user in one place. This is also where the data is bundled and handled to be stored in the vault file. This improves transparency, even if it increases the size of the main model
Robustness and error handling: The continuous use of automated JUnit tests gives a certain robustness and consistency even beyond changes and refactorings.
This revision presents the technical aspects of your system architecture more precisely and clearly, making it easier for readers to understand.
In our class diagram, we have opted for a simple approach with little information.
In this way, we try to prevent information overload and enable the user to familiarise themselves quickly.
For this reason, we have only included the most important data fields and only strong dependencies.
The stand-alone classes therefore only have weak relationships to other classes.
We hope to achieve a good understanding of our classes and their implementation with this high level of abstraction.
Get started with VaultGuard in just a few steps:
Java 21 or newer must be installed on your system.
- Open a new directory and start a Git Bash console
Right-click on the directory -> Git Bash here
- Clone the repo
git clone https://github.com/sagitta-script/vault-guard.git
- Switch to the project directory
cd vault-guard.git
- Start the programme
./gradlew run
In this section, we present a predefined example of our program, VaultGuard. You can just enter those credentials to log in and see how the program works.
Username: MaxMustermann
Password: VaultGuard
Have fun using Vault Guard!
Rediscover security with VaultGuard - your partner in the digital world!
This project is licensed under the MIT License.
This is a copy of my group project work, which was carried out at the Zurich University of Applied Sciences (ZHAW)