Learn how Umbraco works
Get to know the Umbraco codebase.
Developing an application requires knowledge about the tool you are working with. This section will give you an introduction to the underlying structure of Umbraco CMS.
![Cover](https://docs.umbraco.com/~gitbook/image?url=https%3A%2F%2F65787334-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F8h0xdoteqcFVV1pGZgk0%252Fuploads%252FjqzbFfXUIVyInfT87Ubj%252FDocumentations%2520Icons_Umbraco_CMS_Implementation_Routing.png%3Falt%3Dmedia%26token%3Dd3567e8e-208b-443d-ae5c-eec77c396684&width=245&dpr=4&quality=100&sign=bc0c1fff&sv=1)
Routing
The process from front-end user requests to content delivery.
![Cover](https://docs.umbraco.com/~gitbook/image?url=https%3A%2F%2F65787334-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F8h0xdoteqcFVV1pGZgk0%252Fuploads%252F3iHBNhfiLxi0VjDaPIrQ%252FDocumentations%2520Icons_Umbraco_CMS_Implementation_Custom_Routing.png%3Falt%3Dmedia%26token%3D52b79a6d-5ae0-4ad7-af55-8c0d8bc639bf&width=245&dpr=4&quality=100&sign=24934d43&sv=1)
Custom routing
Learn how to work with custom URLs and custom MVC routes.
![Cover](https://docs.umbraco.com/~gitbook/image?url=https%3A%2F%2F65787334-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F8h0xdoteqcFVV1pGZgk0%252Fuploads%252FgjWu8HaSVLmVWccrTo1e%252FDocumentations%2520Icons_Umbraco_CMS_Implementation_Controllers.png%3Falt%3Dmedia%26token%3D190f03ea-7bc7-4d7c-9c95-505948bd2467&width=245&dpr=4&quality=100&sign=2c19573f&sv=1)
Controllers
Everything you need to know about the different types of controllers.
![Cover](https://docs.umbraco.com/~gitbook/image?url=https%3A%2F%2F65787334-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F8h0xdoteqcFVV1pGZgk0%252Fuploads%252FAxwZ3zNtzyfBt9E7xGnj%252FDocumentations%2520Icons_Umbraco_CMS_Implementation_Data_Persistence.png%3Falt%3Dmedia%26token%3D1057ab57-b8fb-42cc-811a-1064700c0ea2&width=245&dpr=4&quality=100&sign=877df6f6&sv=1)
Data persistence
Learn how to create, read, update, and delete data in the Umbraco database.
![Cover](https://docs.umbraco.com/~gitbook/image?url=https%3A%2F%2F65787334-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F8h0xdoteqcFVV1pGZgk0%252Fuploads%252FFqOr72AaXxFLNSlBkmNh%252FDocumentations%2520Icons_Umbraco_CMS_Implementation_Composing.png%3Falt%3Dmedia%26token%3Dc4d0d2dc-a2b3-402e-aaab-e0aa0590a495&width=245&dpr=4&quality=100&sign=a09a9bcd&sv=1)
Composing
Customize the behavior of an Umbraco application at 'start up'.
![Cover](https://docs.umbraco.com/~gitbook/image?url=https%3A%2F%2F65787334-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F8h0xdoteqcFVV1pGZgk0%252Fuploads%252FjFNe8raoDTIZl6gFwqoz%252FDocumentations%2520Icons_Umbraco_CMS_Implementation_Services_and_Helpers.png%3Falt%3Dmedia%26token%3Dfaf5f787-dd65-409e-86a3-f4cbeb765b2c&width=245&dpr=4&quality=100&sign=dd6da87e&sv=1)
Services and Helpers
Learn how to use the core Services and Helpers when extending Umbraco.
Test your application
This section also includes documentation on different ways to run tests on your code and implementations.
Integration TestingUnit TestingLast updated