Challenge Overview

The client is building the Fund Accounting Yield Application (FAYA), previously referred to as the SEC Yield application. This is the 2nd phase, where we adding new calculation engines and provide more front end features for the end user.

Challenge Overview

The goal of this challenge is to implement a single engine : Cash Flow SEC Yield Engine as outlined in challenge requirements.

Challenge Requirements

- The class design for Cash flow engine is under *Public API And Implementation Class Diagram* class diagram
   - CashFlowYieldCalculationEngine
   - CashFlowYieldCalculator
   - CashFlowYieldCalculationInput
   - CashFlowYieldCalculationOutput
- The implementation note is outlined in ADS document.
- Also please refer to the ADS document for logging, exception handling, unit testing updates. They all must be implemented in the challenge, the updated sections:
  - Logging
  - Exception Handling
  - Unit Testing Coverage
- Provide a thorough unit testing for the engine, you are not expected to do any DB interaction here.
- Update README (if needed)
- You are provided with sample excel file that show how calculation is done, and another sample data file. Use them, and alter them  to address edge cases.

Technology overview

 - Java 8
 - JSON
 - Apache HTTP Server
 - Tomcat 8
 - Spring Framework 4.x http://projects.spring.io/spring-framework/ 
 - Log4j 1.2 http://logging.apache.org/log4j/1.2/ 
 - Joda-Time 2.9 http://www.joda.org/joda-time/installation.html

Getting Started

 - You can get access from challenge forums to the gitlab repository
 - Once you join that group, you will see the repositories:
 - architecture: use tag v3 https://gitlab.com/sancus-community/architecture/tags/V3 
 - backend: use this branch features/30056280-code

Existing Documents

 - TCUML Diagrams
 - Application Design Specification
 * Swagger API definition

 

Final Submission Guidelines

Deliverables

- Git patch file of changes OR All source code, tests and scripts that address the requirements. That include scripts, README, postman updates .. etc.
- The winner will be asked to make a merge request to the repository.
- Include note text file for reviewer for any special instructions or notes.

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30056280