|
|
[Overview](overview) |
|
|
\ No newline at end of file |
|
|
# 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](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
|
|
|
- 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.
|
|
|
|
|
|
# Modules
|
|
|
## Database
|
|
|
[Database Wiki](database_module)
|
|
|
|
|
|
## Management
|
|
|
[Management Wiki] (management_module)
|
|
|
|
|
|
## GUI
|
|
|
[GUIWiki] (gui_module)
|
|
|
|
|
|
## SSH
|
|
|
[SSH Wiki] (ssh_module) |
|
|
\ No newline at end of file |