First off, thank you for considering contributing to Retail Banking! It's people like you that make the open-source community such a great place. We welcome any and all contributions, from bug reports to new features.
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to contact@subho.xyz.
There are many ways to contribute to Retail Banking, and we appreciate all of them.
If you find a bug, please open an issue on our GitHub issue tracker. When you are creating a bug report, please include as many details as possible. Fill out the required template, the information it asks for helps us resolve issues faster.
If you have an idea for a new feature or an enhancement to an existing one, please open an issue on our GitHub issue tracker. Please provide a clear and detailed explanation of the feature you are proposing, including any potential use cases.
If you have a bug fix or a new feature that you would like to contribute, please open a pull request. When you are creating a pull request, please make sure that:
- You have read and understood the Code of Conduct.
- Your code adheres to the Style Guide.
- You have added tests for any new code.
- You have run all the tests and they all pass.
- You have updated the documentation to reflect any changes.
This project uses Liquibase to manage database schema changes. The migration scripts are located in the src/main/resources/db/changelog directory.
When you make changes to the JPA entities, you must generate a new migration script. You can do this by running the following command:
mvn liquibase:diff -Dliquibase.diffChangeLogFile=src/main/resources/db/changelog/changes/<new-version>-<description>.yamlReplace <new-version> with the next version number (e.g., 002) and <description> with a brief description of the changes.
This project uses Testcontainers to automatically manage a MySQL container for testing. This ensures a consistent and reliable testing environment.
To run all tests, use the following command:
mvn clean verifyWe use the standard Java coding conventions. Please make sure that your code adheres to these conventions before submitting a pull request.
- Indentation: Use 4 spaces for indentation.
- Line Endings: Use Unix-style line endings (
\n). - Comments: Use Javadoc comments for all public methods and classes.
- Naming Conventions: Use camelCase for all variables and methods, and PascalCase for all classes.
By contributing to Retail Banking, you agree that your contributions will be licensed under the MIT License.