Joomla (ˈdʒuːm.lɑː), also spelled Joomla! (with an exclamation mark) and sometimes abbreviated as J!, is a free and open-source content management system (CMS) for publishing web content on websites. Web content applications include discussion forums, , e-Commerce and user communities and numerous other web-based applications. Joomla is developed by a community of volunteers supported with the legal, organisational and financial resources of Open Source Matters, Inc. Joomla is written in Hypertext Preprocessor (PHP), uses object-oriented programming techniques and software design patterns, and stores data in a Structured Query Language (MySQL) database. It has a software dependency on the Symfony PHP framework. Joomla includes features such as page caching, , blogs, search, and support for language internationalisation. It is built on a model–view–controller web application framework that can be used independently of the CMS. Around 6,000 extensions are available from the Joomla website, and more are available from other sources. As of 2022, it was estimated to be the fifth most used CMS on the Internet, after WordPress, Shopify, Wix and Squarespace. Joomla has a web template system using a template processor. Its architecture is a front controller, routing all requests for non-static URIs via PHP which parses the URI and identifies the target page. This allows support for more human-readable permalinks. The controller manages both the frontend, public-facing view, and a backend (GUI-driven) administration interface. The administration interface (a) stores management and content information within a database, and (b) maintains a (, usually located in the root of the Joomla installation). The configuration file provides the connection between the server, database and file system and facilitates migrating the website from one server to another. The backend interface allows website operators to manage users, menus, extensions and web content. Joomla is designed to be used by people who have basic website creation skills and requires an Apache–MySQL–PHP server like LAMP or WAMP.