====== Developer Documentation ====== ===== Collection of articles aimed for Developers ===== * [[docs:developers-intro|]] * [[docs:autoloader|]] * [[docs:composer|]] * [[docs:developer-domain-driven-design|]] * [[docs:developer-how-to-move-classes-to-src|]] * [[docs:github|]] ===== Contact Possibilities ===== If you want to reach out to the development community of Friendica, please join the [[https://forum.friendi.ca/profile/developer|Developer Forum]] on the projects forum node. If you need to contact the core team privately you can send a mail to ''info(at)friendi.ca''. ===== API ===== Friendica offers multiple API endpoints to interface with third-party applications: - [[docs:api|Overview]] - [[docs:api-twitter|Twitter]] - [[docs:api-mastodon|Mastodon]] - [[docs:api-friendica|Friendica-specific]] - [[docs:api-gnu-social|GNU Social]] ===== Theme Development ===== If you are interested in developing your own theme for Friendica, or expanding an existing theme. Have a look at [[docs:themes|this article about themes]] in Friendica. There is a [[https://git.friendi.ca/friendica/themes-community|git repository]] for themes and theme customizations created by the Friendica community. ===== Addon Development ===== You can easily expand the core functionality of Friendica with [[addons:start|addons]]. In the [[docs:addons|Friendica addon development]] article, you'll find information about the addon format and the hooks that Friendica provides so your addon can jump into the workflow at the different places. ===== Vagrant VM for Developer ===== To ease setting up an environment for Friendica development, we have created a [[docs:vagrant|Vagrant VM]] that can be used to easily setup a server with some local users to test things. This is ideal for working on themes, local acting addons or other things that only affects the local server. If you want to work on federation issues, you'll likely need more then just this Vagrant VM.