Joomla! is a Content Management System (CMS) which enables you to build websites and powerful online applications.
It is a simple and powerful web server application which requires a server with PHP and either MySQL or PostgreSQL to run. You can find full technical requirements here.
Joomla! is free and Open Source software distributed under the GNU General Public License version 2 or later.
We should also consider adding a form for the user, similar to what we have with contacts. That you can basically send a mail to the user to get in touch with the user.
The classes with J.. should be included using namespaces. For example, JFactory will be included using use Joomla\CMS\Factory; and used by calling only Factory.
Start with the edit view. The com_content form view (frontend) could be a structure you can take for the profile edit.
Tip: use as less bootstrap classes as possible.