The Drag-and-Drop-SSH-Tool
Overview
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, the ssh module, the gui module and the management module.
The JavaDoc package is located in the project repository in docs.
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
- java -jar gui-0.0.1-SNAPSHOT
in the package where the file is located.
Project repository
To compile the project, use
- mvn clean install -DskipTests
in the development package and
- mvn compile clean package javafx:run
in the gui package.