Remote journal entry system
- or -
Post a project like this$$$
- Posted:
- Proposals: 3
- Remote
- #1740252
- Expired
Description
Experience Level: Expert
General information for the business: Involved in Cryptocurrencies
Kind of development: New program from scratch
Num. of modules: 2
Description of requirements/functionality: Server side:
We need a java based remote journalling system. The system shall be reachable via gRPC and receive simple messages consisting of a String and a timestamp. These messages shall be written to a database as well as to the local filesyste. The server is required to send back a hash of the message+timestamp to the client.
Regarding file system storage:
-The filename will be defined as "_"
-Messages should be aggregated in 30 minute chunks
-Data shall be compressed (simple gzip)
-Since gRPC uses protobuf this format should be used here as well.
Regarding the DB:
-Postgresql is preferred, no additional layer like JPA is necessary, simple SQL should be sufficient
-The DB needs to be indexed on the timestamp.
-An automatic backup script (or within the java software) needs to be written, that every 24 hours backs up the data of the last 48 hours to an external compressed file
The system needs to be queryable via gRPC, but only from whitelisted adresses:
- get entries between timestamps, (should fail if entryCount is above certain threshold)
- get entries containing certain text (does not need to ignore case)
- get entry count between two timestamps
The whitelisted adresses (for querying) will be defined in a config file, and the system should periodically check whether that file has changed and reload changes.
Client side:
We need a simple client to pass messages with timestamps to the described server via gRPC. Messages needs to be sent immediately, but if the server is not reachable, or send back a wrong hash, the message should be put in a queue that resends the data (while using exponential backoff up to a maximum of 15minutes). In the case the message has not been sent, it should be saved locally on disk in its own file until it has been sent, in which case it should be deleted.
We want the whole project to be created using TDD (but with TestNG instead of JUnit). We prefer clean code over quick "elegant" hacks, and we require it to be safe in terms of concurrency issues. The source code shall be Java 8 compliant.
If the project is a success and well within our standards, there will be offers of follow up projects.
If you contact us, please tell us how experienced you are in the respective fields (Java, DB, TDD, gRPC/protobuf, Concurrency), as well as provide some information about previous projects you did or technologies you used.
Specific technologies required: Java, TDD, DB, gRPC/protobuf
Extra notes:
Kind of development: New program from scratch
Num. of modules: 2
Description of requirements/functionality: Server side:
We need a java based remote journalling system. The system shall be reachable via gRPC and receive simple messages consisting of a String and a timestamp. These messages shall be written to a database as well as to the local filesyste. The server is required to send back a hash of the message+timestamp to the client.
Regarding file system storage:
-The filename will be defined as "_"
-Messages should be aggregated in 30 minute chunks
-Data shall be compressed (simple gzip)
-Since gRPC uses protobuf this format should be used here as well.
Regarding the DB:
-Postgresql is preferred, no additional layer like JPA is necessary, simple SQL should be sufficient
-The DB needs to be indexed on the timestamp.
-An automatic backup script (or within the java software) needs to be written, that every 24 hours backs up the data of the last 48 hours to an external compressed file
The system needs to be queryable via gRPC, but only from whitelisted adresses:
- get entries between timestamps, (should fail if entryCount is above certain threshold)
- get entries containing certain text (does not need to ignore case)
- get entry count between two timestamps
The whitelisted adresses (for querying) will be defined in a config file, and the system should periodically check whether that file has changed and reload changes.
Client side:
We need a simple client to pass messages with timestamps to the described server via gRPC. Messages needs to be sent immediately, but if the server is not reachable, or send back a wrong hash, the message should be put in a queue that resends the data (while using exponential backoff up to a maximum of 15minutes). In the case the message has not been sent, it should be saved locally on disk in its own file until it has been sent, in which case it should be deleted.
We want the whole project to be created using TDD (but with TestNG instead of JUnit). We prefer clean code over quick "elegant" hacks, and we require it to be safe in terms of concurrency issues. The source code shall be Java 8 compliant.
If the project is a success and well within our standards, there will be offers of follow up projects.
If you contact us, please tell us how experienced you are in the respective fields (Java, DB, TDD, gRPC/protobuf, Concurrency), as well as provide some information about previous projects you did or technologies you used.
Specific technologies required: Java, TDD, DB, gRPC/protobuf
Extra notes:
Timm M.
100% (1)Projects Completed
1
Freelancers worked with
1
Projects awarded
33%
Last project
5 Dec 2017
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies