Banking Booking System kept simple!
Simple implementation of a deposit account that supports:
This is simple implementation of the double entry accounting with some additional features like:
The deposit account module needs a chart of account. You can find a sample chart of account at: Sample Chart Of Accounts
We provide a sample SCA and user management application no to be used in a productive environment.
This is a sort of online banking application exposes the deposit account functionality to an online environment enabling the following workflow:
This is a sample test data file for the deposit account Sample Test Data
adorsys is a company who works ever since the very beginning of PSD2 with its requirements and implicit tasks. We help banks to be PSD2 complaint (technical and legal terms). To speed up the process we provide this open source XS2A interface, specified by Berlin Group, that can be connected to your middleware system. You can check your readiness for PSD2 Compliance and other information via our Web-site.
See below for a short technical introduction of the module. More to find in These instructions. The instruction below will surely get you a copy of the project up and running on your local machine for development and testing purposes.
Ledgers is heavily dependents on spring for now. We are still working on a more inclusive dependency management.
> git clone https://github.com/adorsys/ledgers.git
> cd ledgers
> mvn clean install
> cd ledgers-app
> mvn spring-boot:run -Dspring.profiles.active=h2
This will start the ledgers app with the embedded h2 database.
http://localhost:8088/swagger-ui.html
when started with the h2 profile, you can use the web browser to visit database tables on the url http://localhost:8088/h2-console/ . make sure you use the following connection properties:
Driver Class : org.h2.Driver JDBC URL: jdbc:h2:mem:ledgers User Name: sa Password: sa
Press Connect button and you can explore the data model.
More on this to come...
We user Spring dependencies to assemble module. Each module contains following dependency management artefact.
The ledgers application is built to be fully extensible and embeddable into other JPA applixations.
Artifact | Description |
---|---|
@EnableModuleName |
Annotation used to select an implementation module among alternatives. This will generally be dropped on a Spring Application class. |
@ModuleNameConfiguration |
Main spring configuration class for the module. Might include other modules, scan entities, initialize resources. |
@ModuleNameBasePackage |
Marker class used to document package scanning for a module. We will generally me stuff like: @ComponentScan(basePackageClasses = DepositAccountServiceBasePackage.class) . The package of this call must allow for scanning of all spring components in the module. |
You can easily use features by adding following annotations to your spring @Configuration
class:
Annotation | Description |
---|---|
@EnableDepositAccountService |
Enables the deposit account service module. |
@EnableLedgersMiddlewareRest |
Enables the the Ledger middleware rest application. |
@EnableLedgersMiddlewareService |
Enables the Ledger middleware service. |
@EnablePostingService |
Enables the postings service module. |
@EnableSCAService |
Enables The SCA service module |
@EnableUserManagementService |
Enables the a user management service |
Following JPA module are automatically included in the corresponding service modules so they generally do not need to be considered while assembling modules.
Annotation | Description |
---|---|
@EnableDepositAccountRepository |
Enables the deposit account JPA module. |
@EnablePostingsReporitory |
Enables the ledgers posting repository module. |
@EnableSCARepository |
Enables the sca repository module |
@EnableUserManagmentRepository |
Enables a user management module. |
Available in the documentation
Dockerfiles will be provided to allow to put the build artifacts into a docker images. Not available for now.
More details see in instruction
Please read CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests to us.
See also the list of contributors who participated in this project.