Find Jobs
Hire Freelancers

Basic Monetary Accounting system in Java reachable via gRPC

£18-36 GBP / hour

Closed
Posted over 6 years ago

£18-36 GBP / hour

The system needs to track monetary accounts in different currencies for different institutes, while differentiating between "real" account value and expected account value. In detail: A gRPC client reports creation of a Currency C1 (with scale X, i.e. the number of decimals) account for Instiute I1 and the server shall create three money "TimeSeries" (if not yet existing): - series R adds every newly reported "real" account value for I1 and C1 in it, such that we can easily query "what was the real account value of C1 in I1 at timepoint t" - series E tracks expected changes. A client has the ability to say "we expect +3 in C1 at I1 tagged with s at timestamp t" (see * below). This series records that, marks it as an "open" change and provides the client with an ID for this expected change. The client later can then report "The change in reality for ID x was +2". The series would record this, mark the entry as a closed change (with closing timestamp) and add "+2" to series D (described below) tagged with s. We should be able to query the system "which expected changes were open at timepoint t" * pseudo code signature would i.e. be long reportExpectedChange(expectedChange, Currency, Institute, Tag, Timestamp) - series D starts at the same value that series R starts. Its value is changed whenever series E marks a record as closed. Analouge to series R we should be able to query "what was the value of series D at timepoin t". Series R and D should always be the same as long as no "change is open", and as long as the institute reports exact numbers, we want to have those two series to be able to compare this. We want to be able to query each of these series for data between two timestamps. We want to be able query the last values of series R and D as well as any "open change" in series E. The data should be saved in a database (preferably postgresql), indexed on the timestamps. 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 gRPC access will be restricted by using whitelisted ips. The whitelisted adresses will be defined in a config file, and the system should periodically check whether that file has changed and reload changes. For the handling of monetary amounts JSR 354 should be used. 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.
Project ID: 15338178

About the project

10 proposals
Remote project
Active 6 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
10 freelancers are bidding on average £24 GBP/hour for this job
User Avatar
Hello, We have a team of Skilled Java-J2EE professionals with experience up to 8 years. ===== Our Expertise in Java / J2EE : * Desktop Applications : Swing, Eclipse Rich Client Platform, AWT, SWT, RMI * Frameworks: Spring, Spring Security, Spring Social, Struts, Hibernate ,JPA, Lucerne, Quartz, Ant, jUnit, DbUnit, Mybatis * Web Technology : JSP, JSTL, JSF, JQuery, Ajax, JavaScript, DWR, FCK Editor, Extjs * Application Servers : JBoss, WebLogic, WebSphere, Apache Tomcat, Glassfish * Databases : MySQL 4.x/5.x, Oracle 8i/9i/10g/11g, Postgre SQL * Web Services : SOAP, WSDL, RESTFUL Web Services, Apache Axis * IDE : Eclipse, Net Beans, Web Ratio (Model Based Application Development IDE) , Spring IDE * Payment Gateway : PayPal Integration [Experienced in integrating other payment gateways too] * Web Technology : JSP, JSTL, JSF, JQuery, Ajax, JavaScript, DWR, FCK Editor, Extjs * Project Management : SDLC, AGILE ===== We are available from Monday To Friday, 9 hours a day. Our timezone is GMT+5.30. Please initiate chat to check our understandings and queries. You will be able to communicate directly with the expert working on your project. We look forward to have long term engagement on the basis of quality of our work evinced in this project. Thanks.
£18 GBP in 45 days
4.9 (185 reviews)
7.9
7.9
User Avatar
Dear sir, I have read your job post to build a accounting system in JAVA, I'm interested in doing this project as I have all the required skills and expertise needed for this project, also I have already working Experience in big project. Kindly open chat to discuss and i'll be able to show the demos. I have extensive experience in JAVA, PHP, Laravel, Js,nodejs ,AngularJS, MEAN STACK ,mysql, jQuery, SCSS, and HTML. - I have good communication skills - I take the responsibility to complete the project on time - Punctuality and collaboration looking forward to hear from you thanks! Best regard, Toseef
£28 GBP in 40 days
4.8 (24 reviews)
5.5
5.5
User Avatar
I have around 10 years of exp. in full stack development. I have developed quite a few apps Java,J2ee, Spring, Multhreadin, Concurrency API, Angular1, Angular2 and React js with node js.
£18 GBP in 40 days
4.8 (15 reviews)
3.7
3.7

About the client

Flag of UNITED KINGDOM
United Kingdom
0.0
0
Member since Oct 6, 2017

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.