Java / Springboot Console App for MQTT listening
Budget: $10 – $80 USD
I require a skilled Java developer to implement a console app which must be capable of tracking modifications, additions, and deletions of files, and further synchronize these changes into a specified Git repository.
Key functionalities required:
- on each run of the java app
- Track File Modifications: Monitor alterations and updates performed on specific documents and replicate them within the Git repository.
- Track File Additions: Detect new files added within the specified directories and update the Git repository accordingly.
- Track File Deletions: Sense any file removal and make necessary adjustments in the Git repository.
The java console application must be primarily operable on a Linux system, though it should also function flawlessly on Windows and MacOS by defaulting as Java ability on all operating systems.
Strong Java programming skills, expertise in working with files and Git repositories. Familiarity with file management automation is also desirable. The code needs to be clean, efficient and well-commented to ensure future maintainability.
The process to implement:
1. create new git to a specific folder (configurable via cmd arg "gitdir"), if not already a git local repo there
2. if git is there there, do a git fetch & git pull
3. analyse a set of folders (configurable via cmd arg "datadirs")
4. compare files and folders between datadirs and gitdir
5. replicate datadir into gitdir
6. run git add for all new files
7. run git add for all changed files
8. run git rm for all deleted files
9. run git commit -m "synced <datatime> #issue"
10. run git push
create a self running jar, which is containing all deps and can be executed via cmd
java -jar <yourjar>.jar
For consideration are needed:
- left side (other file system)
- right side
Lib: JGit preferred
Budget?
will not be disclosed, place your best bid to get considered
What is next?
We will share you a NDA and afterwards a paid test task.
Payment?
- you estimate in a WBS (optimistic, expected, pessimistic, where optimistic < expected < pessimistic) after getting the task
- we discuss about clearances and effort
- we mutually agree to effort
- we assign you the task after mutually agreed
- you implement, test and deliver
- you provide also unit /integration tests to ensure code is always working
- you document each required step to make interaction of systems to work
- we test on our premise (you maybe help to fix issues)
- we pay
(basically the rules of freelancer)
Closed book vs open book?
We work only on open book.
Closed book means you are unwilling to define a WBS for the work and you add only a price tag to the task.
We are sorry we will not hire you in such a case!
Deliveries?
- in our on premise git (access will be granted to you)
- full sources
- mutliple samples of body and responses of the api in test/resources which will be used as unit tests
- maven
- libs, need prior confirm and we prefer to use mostly latest stable versions
- JDK 17 (mostly LTS)
- your code is working on our end too
- your code passes our CI build (with provided maven pom.xml can be checked)
- you may require to help us here on setup
- we require, depending on availability and on complexity 2-4 weeks test time per milestone. Usually clearly less
Key functionalities required:
- on each run of the java app
- Track File Modifications: Monitor alterations and updates performed on specific documents and replicate them within the Git repository.
- Track File Additions: Detect new files added within the specified directories and update the Git repository accordingly.
- Track File Deletions: Sense any file removal and make necessary adjustments in the Git repository.
The java console application must be primarily operable on a Linux system, though it should also function flawlessly on Windows and MacOS by defaulting as Java ability on all operating systems.
Strong Java programming skills, expertise in working with files and Git repositories. Familiarity with file management automation is also desirable. The code needs to be clean, efficient and well-commented to ensure future maintainability.
The process to implement:
1. create new git to a specific folder (configurable via cmd arg "gitdir"), if not already a git local repo there
2. if git is there there, do a git fetch & git pull
3. analyse a set of folders (configurable via cmd arg "datadirs")
4. compare files and folders between datadirs and gitdir
5. replicate datadir into gitdir
6. run git add for all new files
7. run git add for all changed files
8. run git rm for all deleted files
9. run git commit -m "synced <datatime> #issue"
10. run git push
create a self running jar, which is containing all deps and can be executed via cmd
java -jar <yourjar>.jar
For consideration are needed:
- left side (other file system)
- right side
Lib: JGit preferred
Budget?
will not be disclosed, place your best bid to get considered
What is next?
We will share you a NDA and afterwards a paid test task.
Payment?
- you estimate in a WBS (optimistic, expected, pessimistic, where optimistic < expected < pessimistic) after getting the task
- we discuss about clearances and effort
- we mutually agree to effort
- we assign you the task after mutually agreed
- you implement, test and deliver
- you provide also unit /integration tests to ensure code is always working
- you document each required step to make interaction of systems to work
- we test on our premise (you maybe help to fix issues)
- we pay
(basically the rules of freelancer)
Closed book vs open book?
We work only on open book.
Closed book means you are unwilling to define a WBS for the work and you add only a price tag to the task.
We are sorry we will not hire you in such a case!
Deliveries?
- in our on premise git (access will be granted to you)
- full sources
- mutliple samples of body and responses of the api in test/resources which will be used as unit tests
- maven
- libs, need prior confirm and we prefer to use mostly latest stable versions
- JDK 17 (mostly LTS)
- your code is working on our end too
- your code passes our CI build (with provided maven pom.xml can be checked)
- you may require to help us here on setup
- we require, depending on availability and on complexity 2-4 weeks test time per milestone. Usually clearly less