The idea behind the project is to transfer files using a SSH connection whithout needing command line knowledge. Therefore, the user can make file transactions while operating a user-friendly GUI. It also implements the functionality that interrupted transactions can be continued easily.
To realize all requirements, the project is sectioned into four components: [the database module](database_module), [the ssh module](ssh_module), [the gui module](gui_module) and [the management module](management_module).
For development, it is of necessity to have at least Java 11 and Maven 3.6.3 installed. Also the following dependencies are used:
## Setup
Java, at least version 11, should be installed as well as Docker Desktop which is used for testing.
Clone the repository from GitLab and import it as a Maven project in Intellij or Eclipse.
Start Docker with
- docker-compose up -d
in the development package and
- docker-compose stop
for it to stop.
## Dependencies
- iBATIS (3.0)
- for mapping between SQL databases and objects in Java
- SQLite JDBC Driver (3.34.0)
- for connecting to database
- HikariCP (2.4.7)
- connection pool
- JavaFX controls (11)
- JavaFX components which provide control functionalities
- JavaFX FXML (16-ea+5)
- XML format for composing JavaFX GUIs
- JFoenix (9.0.10)
- JavaFX material design library
- JSch (0.1.55)
- pure Java implementation of SSH2
## Building
### Jar File
To run the application using the Jar file, you need to have JRE installed (at leat version 11). You can either double click or use the command