OpenProject development concepts

OpenProject development encompasses a large number of complex topics and terminologies. This guide will introduce some concepts and give you a big picture of the development processes.

Please choose an area that you would like to read about:

Topic Content
Application architecture An introduction of the application architecture used at OpenProject.
State management How does the frontend handle state and react to changes?
HAL resources What are HAL resources and how are they used in the frontend?
Permissions How are roles and permissions handled in OpenProject code?
Translations How are translations used and built?
Resource schemas What is a schema and how is it tied to an editable resource?
Resource changesets How is change tracked to resources in the frontend? How to save the changes.
Inline editing How does inline editing and the edit field functionality work in OpenProject?
Queries and QuerySpace What is the Query API concept and how is it used in the frontend?