-
Notifications
You must be signed in to change notification settings - Fork 75
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add README for technical docs
- Loading branch information
Showing
3 changed files
with
92 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
Use the [assets](../assets) directory to store digital assets like images and diagrams that are used to support documentation for all modules. | ||
|
||
## Directory Structure | ||
Directory structure under this directory should closely follow directory structure under [docs](../docs) directory. | ||
|
||
For example, documents located under `docs/user/howto` should place their supporting images\diagrams under `docs/assets/user/howto`. | ||
|
||
## Images and Diagrams | ||
Keep images and diagrams in separate directories as below. | ||
- `images` : to hold screenshots and other images (Max size 1MB each, preferrably `.png`) | ||
- `diagrams` : to hold interaction diagrams, class diagrams, sequence diagram. (Preferrably as PDF) | ||
|
||
For instance, images that support technical documentation for `jans-core` module should be located in `jans/docs/assets/technical/jans-core/images` | ||
|
||
## File Naming Conventions | ||
Image/diagram file names should follow the pattern: `image/diagram`-`3 tag words`-`mmddyyyy`.`type`. | ||
|
||
For example, | ||
- A screenshot of IDE settings for developer workspace setup can be named `image-eclipse-ide-setting-04052022.png` | ||
- A sequence diagram for user registration flow can be named `diagram-user-registration-sequence-03062022.pdf` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,45 @@ | ||
# Technical Design Documentation | ||
# Technical Documentation | ||
|
||
This documentation explains technical design, architecture and interactions of various Janssen modules. | ||
|
||
## Contents: | ||
|
||
- [API Reference](#api-reference) | ||
- [Design Consideration and Guidelines](#design-consideration-and-guidelines) | ||
- [REST API Design](#rest-api-design) | ||
- [Caching](#caching) | ||
- [Testing](#testing) | ||
- [Deployment](#deployment) | ||
- [Security](#security) | ||
- [Scalability and Cloud Infrastructure](#scalability-and-cloud-infrastructure) | ||
- [Technical Documentation Guidelines](#technical-documentation-guidelines) | ||
|
||
## API Reference | ||
|
||
| Service | REST API | Java API | | ||
| --- | --- | --- | | ||
| Jans Auth Server | [Swagger](https://gluu.org/swagger-ui/?url=https://raw.githubusercontent.com/JanssenProject/jans/main/jans-auth-server/docs/swagger.yaml)| [Javadoc](https://jenkins.jans.io/javadocs/jans-auth/main/)| | ||
| Jans Client API | [Swagger](https://gluu.org/swagger-ui/?url=https://raw.githubusercontent.com/JanssenProject/jans/main/jans-client-api/server/src/main/resources/swagger.yaml)| [Javadoc](https://jenkins.jans.io/javadocs/jans-client-api/main/)| | ||
| Jans Config API | [Swagger](https://gluu.org/swagger-ui/?url=https://raw.githubusercontent.com/JanssenProject/jans/main/jans-config-api/docs/jans-config-api-swagger.yaml)| | | ||
| Jans Core | | [Javadoc](https://jenkins.jans.io/javadocs/jans-core/main/)| | ||
| Jans FIDO 2 | [Swagger](https://gluu.org/swagger-ui/?url=https://raw.githubusercontent.com/JanssenProject/jans/main/jans-fido2/docs/jansFido2Swagger.yaml) | | | ||
| Jans SCIM API | [Swagger](https://gluu.org/swagger-ui/?url=https://raw.githubusercontent.com/JanssenProject/jans/main/jans-scim/server/src/main/resources/jans-scim-openapi.yaml) | [Javadoc](https://jenkins.jans.io/javadocs/jans-scim/main/) | | ||
|
||
## Design Consideration and Guidelines | ||
|
||
This section outlines high-level design principles, styles and design choices that Janssen project follow. | ||
### REST API Design | ||
### Caching | ||
### Testing | ||
### Deployment | ||
### Security | ||
### Scalability and Cloud Infrastructure | ||
|
||
## Technical Documentation Guidelines | ||
|
||
- Detailed technical documentation for each module should be placed under directory with module's name. For example, technical documentation for `jans-mod` should be placed under directory `docs/technical/jans-mod` | ||
- Each module directory should have a README file that follows [Technical Overview Template](./technical-overview-template.md). | ||
- Create directories if required under module directory to further arrange documentation | ||
- Place all the digital assets to support your documentation under [assets](../assets) following these [guidelines](../assets/README.md) | ||
|
||
|
||
Documents that explain technical design, architecture and interations of various Janssen modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# <module name> | ||
|
||
Contents: | ||
- [Functional Overview](#functional-overview) | ||
- [Design Overview](#design-overview) | ||
- [API and Code Reference](#api-and-code-reference) | ||
- [Deployment](#deployment) | ||
- [Data Reference](#data-reference) | ||
- [How to Run Tests](#how-to-run-tests) | ||
- [Logging](#logging) | ||
- [Security Considerations](#security-considerations) | ||
|
||
|
||
## Functional Overview | ||
<!-- A high level overview of what the component is supposed to do and how it works. We recommend using diagrams to illustrate cross-module interactions and important flows within the same module --> | ||
## Design Overview | ||
<!--- Describe code structure (packages), diagrams to show how this module interacts with other modules, add class diagrams for set of core classes, sequence diagrams that depict core functionalities, design constraints, ---> | ||
## API and Code Reference | ||
- [API Reference](<!-- Link to [OpenAPI](https://swagger.io/specification/) document which can be viewed with [SwaggerUI](https://swagger.io/tools/swagger-ui/) -->) | ||
- [Code Reference](<!-- Link to auto-generated docs that are extracted from the code, for example, Javadocs -->) | ||
## Deployment | ||
<!-- Instructions on how to properly deploy this component. Included are what persistence, caching, file system, network (e.g. port), compute or other system requirements are needed to make it run.--> | ||
## Data Reference | ||
<!-- If the component needs a database or cache, an overview of the required schema or information tree.--> | ||
## How to Run Tests | ||
## Logging | ||
<!--- Log file name, how to enable and change logging levels for this module ---> | ||
## Security Considerations |