Skip to content

Commit fc7d152

Browse files
authored
SDKS-4619 Add CONTRIBUTING.md and simplify README.md (#170)
1 parent 74b0a2f commit fc7d152

2 files changed

Lines changed: 97 additions & 17 deletions

File tree

CONTRIBUTING.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Contributing to the Ping Identity Android SDK
2+
3+
First off, thank you for considering contributing to the Ping Identity Android SDK! We appreciate your time and effort.
4+
5+
This document outlines the guidelines for contributing to this project. Please take a moment to review it before you get started.
6+
7+
## Getting Started
8+
9+
1. **Fork the repository** on GitHub.
10+
2. **Clone your fork** locally:
11+
```sh
12+
git clone https://github.com/YOUR_USERNAME/ping-android-sdk.git
13+
```
14+
3. **Open the project** in Android Studio. The project uses Gradle, so dependencies will be automatically resolved when you open it.
15+
16+
## Building and Testing
17+
18+
Before submitting any changes, please ensure that you can build the project and that all tests pass.
19+
20+
To run all unit tests, execute the following command from the root of the project:
21+
22+
```sh
23+
./gradlew --rerun-tasks testDebugUnitTestCoverage --stacktrace --no-daemon
24+
```
25+
26+
Ensure that all existing tests pass and that you add new tests for any new functionality you introduce.
27+
28+
## Standard of Practice
29+
30+
This project follows the internal standards of practice maintained by the Ping Identity SDK team. Please review and adhere to these guidelines before submitting any code:
31+
32+
- [Android Style Guide](https://github.com/ForgeRock/sdk-standards-of-practice/blob/main/code-style/android-styleguide.md)
33+
- [Android Security Guidelines](https://github.com/ForgeRock/sdk-standards-of-practice/blob/main/security/security-guidelines-android.md)
34+
35+
In general, try to match the style of the existing code in the project.
36+
37+
## Submitting a Pull Request
38+
39+
1. Create a new branch for your feature or bug fix:
40+
```sh
41+
git checkout -b your-feature-branch
42+
```
43+
2. Make your changes and commit them with a clear and concise message.
44+
3. Ensure all tests pass.
45+
4. Push your branch to your fork:
46+
```sh
47+
git push origin your-feature-branch
48+
```
49+
5. Open a **Pull Request** to the `develop` branch of the original repository.
50+
6. In your Pull Request, please follow the template provided. This includes:
51+
* **Linking to a JIRA ticket** if applicable.
52+
* Providing a **clear description and justification** of the changes you have made.
53+
54+
Your pull request will be reviewed by the project maintainers. You may be asked to make changes before your PR is merged.
55+
56+
## License
57+
58+
By contributing to the Ping Identity Android SDK, you agree that your contributions will be licensed under the [MIT License](LICENSE) that covers the project.

README.md

Lines changed: 39 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,45 @@ The Ping SDK for Android is designed for creating mobile native Apps that seamle
77
It offers a range of APIs for user authentication, user device management, and accessing resources secured by PingOne.
88
This SDK is support Browser, iOS and Android platforms.
99

10-
# Modules
10+
Please visit our [ documentation ](https://docs.pingidentity.com/sdks/latest/sdks/index.html) site for more information.
1111

12-
ping
12+
# Modules
13+
ping
1314
├── foundation # Foundation module
14-
│ ├── android # Android Common
15-
│ ├── davinci-plugin # For module that integrated with davinci
16-
│ ├── journey-plugin* # For module that integrated with journey
17-
│ ├── logger # Provide Logging interface and common loggers
18-
│ ├── oidc* # Provide OIDC interface
19-
│ ├── orchestrate # Orchestrating authentication flow framework
20-
│ ├── storage # Provide Storage interface
21-
│ └── utils # Provide common utilities function
22-
├── davinci # Orchestrate authentication with PingOne Davinci
23-
├── journey* # Orchestrate authentication with Journey
24-
├── mfa* # Povide MFA capabilities such as OTP, PUsh, WebAuthn
25-
├── external-idp # Provide Native Google, Facebook, Apple SocialLogin
26-
├── ...
27-
└── ...
15+
│ ├── android # Android common utilities
16+
│ ├── browser # Browser launcher / Custom Tabs support
17+
│ ├── davinci-plugin # Plugin contract for DaVinci integration
18+
│ ├── device # Device capabilities
19+
│ │ ├── device-client # Device client information
20+
│ │ ├── device-id # Unique device identifier
21+
│ │ ├── device-profile # Device profile collection
22+
│ │ └── device-root # Device root / integrity detection
23+
│ ├── journey-plugin # Plugin contract for Journey integration
24+
│ ├── logger # Logging interface and built-in loggers
25+
│ ├── migration # Legacy-to-modern data migration helpers
26+
│ ├── network # Ktor-based HTTP network layer
27+
│ ├── oidc # OIDC / OAuth 2.0 interface
28+
│ ├── orchestrate # Authentication flow orchestration framework
29+
│ ├── storage # Encrypted and plain storage abstractions
30+
│ ├── testrail # TestRail integration for test reporting
31+
│ └── utils # Shared utility functions
32+
├── davinci # Orchestrate authentication with PingOne DaVinci
33+
├── external-idp # Native social login (Google, Facebook, Apple)
34+
├── journey # Orchestrate authentication with PingAM Journey
35+
├── mfa # MFA capabilities
36+
│ ├── auth-migration # Authentication data migration helpers
37+
│ ├── binding # Device binding (biometric / PIN / none)
38+
│ ├── binding-migration # Legacy device binding data migration
39+
│ ├── binding-ui # Jetpack Compose UI for device binding
40+
│ ├── commons # Shared MFA types and utilities
41+
│ ├── fido # FIDO2 / WebAuthn
42+
│ ├── oath # TOTP / HOTP one-time passwords
43+
│ └── push # Push notification authentication
44+
├── protect # PingOne Protect fraud signals
45+
├── recaptcha-enterprise # reCAPTCHA Enterprise integration
46+
└── samples # Sample applications
47+
└── pingsampleapp # Combined Ping sample app
48+
49+
# License
2850

29-
***Note***: * Module under development and experimental
51+
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details

0 commit comments

Comments
 (0)