Update home authored by Lukas Horn's avatar Lukas Horn
[Overview](overview) # The Drag-and-Drop-SSH-Tool
\ No newline at end of file
## 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