The purpose of this document is to works as a resource for any developer working with the DHIS 2 source code.
- Using this document
- Contributing
- Guides
- Coordination
This document is split into multiple files, all written in markdown. There is two ways to navigate the repository:
- Using the file-browser, find the topic you are looking for.
- Using the links from this document, navigate from topic to topic.
Guides are placed in the /guides directory. Start guides with the # h1 header, then use subsequent header numbering (## h2, and so on). Coordination pages are placed in the /coordination directory.
The following section lists guides on various topics.
- API testing
- Auditing
- Code formatting
- Coding patterns
- Component owners
- Embedded Jetty API build
- Flyway database migration
- Git PR & commit messages
- Git pull requests
- IDEA and Tomcat setup (includes hot swapping)
- Java coding principles
- Java 11 pitfalls
- JPA and database functions
- JPA queries
- Lombok annotations
- Monitoring
- New database table Flyway migration
- OpenAPI
- PostgreSQL JSONB
- PostgreSQL commands
- PostgreSQL read replica
- Spring controller testing
- Spring conventions
- Spring controller endpoints
- Test mocking with Mockito
- Testing
- Transactions
- Ubuntu Linux Android app mirroring
The following section lists various areas of coordination.
The following pages contain high-level developer documentation for various solutions.
The following pages are slides used in talks from Thursday meetings: