Skip to content

finos-labs/cdm-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

badge-labs

CDM Playground

Welcome to the Common Domain Model Playground for Java and Python repository. This project contains source code with native CDM functionalities use cases. It also serves as training material for introductory CDM implementation courses.

Usage example

This project can be used to verify the FINOS CDM dependency resolution and resolve CDM-specific implementation questions by running a set of unit tests with widely used functionalities across industry solutions:

  • Serialization: Basic de/serialization tests from/to JSON using the RosettaObjectMapper.
  • Object validation: Demonstrates the usage of the native RosettaTypeValidator evaluating cardinality and business conditions.
  • Qualification: Product-based qualification mechanism built in CDM using native QualifyFunctionFactory.
  • Event driven transitions: A set of post trade event executions using built-in model functions.

All samples included in the project are publicly available at FINOS CDM repository. The playground project uses samples for the version defined in pom's property finos.cdm.version

For more examples and usage, please refer to the FINOS CDM.

Development setup

The project uses:

  • JDK 11
  • Maven
mvn clean verify

Roadmap

List the roadmap steps; alternatively link the Confluence Wiki page where the project roadmap is published.

  1. Expand test coverage with functionalities around function binding through dependency injection
  2. Expand event execution test coverage
  3. Include a sample event classification application built with CDM python distribution
  4. ...

Contributing

  1. Fork it (https://github.com/finos/cdm-playground/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Read our contribution guidelines and Community Code of Conduct
  4. Commit your changes (git commit -am 'Add some fooBar')
  5. Push to the branch (git push origin feature/fooBar)
  6. Create a new Pull Request

License

Copyright 2024 Trade Header

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

About

Start playing with CDM using Java and Python

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages