I want to build a framework application which can work cross platforms (Windows, Mac, Linux).
1. It let admin user to add command line programs to its database together with arguments/parameters to run it. So when a user choose to run the program from this GUI, parameters are already pre-populated. The "Run" command will actually collect parameters, issue the command line program together with all intent parameters as its argument, and then run and watch the program in background.
For example: a "dir" command in Windows run on "C:/Program Files/" with -p parameter will run like so:
dir -p "C:\Program Files\". This command lists folder content of "C:\Program Files\"
Similarly, in linux: a ls command to list content of "~/test dir" with -l, a, h parameters:
ls -lah "~/test dir"
Notice the folder/directory name contains spaces, sometimes arbitrary characters that are accepted for folder/directory names or file names. The program must be able to cope with these characters and run correctly.
2. It let normal user to "read only" general program database created by admin user(s), and can add programs to the user's private database. If the program is already in general database and user has "read" permission, there should be a copy command to duplicate the entry from general database to private database.
3. If a user has the permission, he/she can edit the parameters and save to future runs.
4. Number of parameters can vary from program to program. With right permission, user can add/remove parameter when they edit the database.
5. User can see running commands, and their progress/status, stdout, stderr on the GUI's window, just like the commands are run on their native command line environments.
6. It allows create and edit program categories to organize them, at general database and per-user database.
7. It allows admin to manage users and user permissions.
8. It allows add/edit program descriptions, keywords.
9. It allows search programs by program name, descriptions, keywords, etc.
10. It allows attach document (external documentations to the program entry).
OTHER AGREEMENTS (IMPORTANT):
1. The framework will be my possession. You are not allowed to give, sell, publish, or hand over to a third party any part of it without my written consent. Read this item again, and only proceed if you agree to oblige.
2. You should test the code, compile, pack in JAR file(s), and run it on at least one of 3 OS environment (Mac, Windows, Linux). I will take the code, compile, pack, and run it myself on all three of them. You have to fix errors that prevent the application to run correctly on these OSes.
3. It is not required, but you can make installer is good.
4. Since the program will be developed further after this project complete, the source code MUST follow good practices and for future maintenance and development. Cryptic, obfuscated, or lazy coding style is NOT acceptable.
5. Programming language can be either Java or preferably Scala.
6. Database engine should be a standalone without having to setup database server. One candidate can be SQLite.
7. You don't have to populate the databases, only make funtionality for users to add programs later. However, several demo programs are necessary.
Practically this application requires minimum intermediate skills in Java or Scala. Don't bid if you don't have it.
13 freelancers are bidding on average $564 for this job
Hello, I am expert and dedicated in JAVA Development.I am very much interested for your project. I can complete your project quickly and efficiently in time. Details will be discussed in the message.
I have two questions. First: What do you mean by "...and watch the program in the background." ? Second: Do you want a desktop application or web application?
websplines is a top Notch web development /iOS/Android and software solution Provider with 1500+ satisfied clients across USA, Canada and worldwide.