API documentation describes what services an API offers and how to use those services, aiming to cover everything a client would need to know to use the API. Documentation is crucial for the development and maintenance of applications that use the API.  API documentation is traditionally found in documentation files, but can also be found in social media such as blogs, forums, and Q&A websites.  Traditional documentation files are often presented via a documentation system, such as Javadoc or Pydoc , that has a consistent appearance and structure. However, the types of content included in the documentation differs from API to API.  To facilitate understanding, API documentation can include description of classes and methods in the API as well as "typical usage scenarios, code snippets, design rationales, performance discussions, and contracts", but implementation details of the API services themselves are usually omitted. Restrictions and limitations on how the API can be used are also covered by the documentation. For example, documentation for an API function could note that its parameters cannot be null, or that the function itself is not thread safe .  Because API documentation is so comprehensive, it can be difficult for the writers to keep the documentation updated and for the users to read it carefully, potentially resulting in bugs . 
The Kanban Board application is an example of a real-time, multi-user collaborative application. The Kanban Board application enables users to collaboratively create and edit Kanban boards and tasks. Changes made by one user to a board or a task are immediately visible to other users viewing the same board or task. It has a microservices architecture and is written using Java and Spring Boot and uses MongoDB for materialized views. The application uses STOMP-over-WebSockets to push events from the event store to an AngularJS front-end.