The Ethereum Name Service is made up of a set of smart contracts. These smart contracts are responsible for storing and managing information associated with names.
The resolution process outlines how a name is resolved. This includes the process of finding a resolver, and then using that resolver to fetch information about a name.
Every name has a resolver, responsible for fetching information about a name, such as address, avatar, and more. Resolvers allow for programmatic control over the information associated with a name, implemented in solidity.
The smart contracts can be found on github at ensdomains/ens-contracts.
The code for the ENS Smart Contracts as well as information around the latest deploys, tests, and more can be found on github.