I'm looking for a programmer to program below java application:-
- The app should contain a server and a client component, by running the client component,
- The client should connect to the server and should allow the server to remotely execute commands on the client and the client should send the response back to the server. This feature requires implementing a view similar to terminal in JavaFX.
- The server should be able to generate a client component in an executable format and write it to disk.
- The client should have no GUI, but the server should have a GUI using JavaFX Scene Builder.
- The server should be multithreaded and handle multi clients simultaneously, The server should be able to listen on multiple ports simultaneously too.
- The entire application should be written in objects, should be multi threaded and follow object oriented concept.
- The server should log all the commands that are executed in an SQLite file.
- The server should be able to send files or download files from client.
NOTE:- All the code or libraries used should not be copied from anywhere and hold copyrights, and if it is, it must have permissions from the library/code author. (in case any library or code from 3rd party are being used).
I already coded some parts. please see below screenshots. you may use or change any part of the code or write your own, Currently the program only can listen on a port. thats all as I have no time for it.
The milestone will be the following:
25% Payment - 8Days: Create a GUI, Create the structure of creating multi-threaded server, in this stage you can create multiple servers and each server can handle multiple clients. In this stage, no need to create clients, (just Simulate client with NetCat), each created server will be shown in GUI, upon client connection, the client will be shown in GUI too.
25% Payment - 8Days - Mil2: Create a simple client for demonstration only, create a window similar to terminal/console in JavaFX, code the client component to be able to communicate to the server and receive commands, code the terminal window to redirect the commands to the client, code the client to receive the command and execute it via Runtime.getRuntime().exec or any other method. code the client to send back the responce of the executed command to the server and server should show up the command in the terminal window.
25% Payment - 8 Days - Mil3: Create a class to generate and export executables (PE file), I will help you in this stage.
12.5% - 3 Days - Mil4: Create the logging functionality to SQLite. Create a object to handler logging, call it in all over the app to do the logging.
12.5% - 3Days - Will keep for fixing bugs, errors, etc.