@Aayush That would be awesome, I was actually hoping for some guidance initially. I have relatively good experience in PHP/MySql, but I have a limited experience in XF structure. Basically, in XF, I have done few template modifications and wrote a couple of PHP call back functions to use with a custom page.
2. Add a custom method in your extended class with a signature like
public function actionCustomField()
Now try loading http://yourxfinstall.com/account/custom-field
If you see default XenForo page loaded with an error in between which indicates you that you need to return something then you are on the right track. You would need to return a response view from the function that you just created. You can read the XenForo_ControllerPublic_Account file to find out how other pages work.
3. You'll need to create a new template in XenForo Admin area. You can do that by going on the page which lists all the templates in Admin area and clicking the "Create a template" button there. You need to return this template from the function wrapped in a responseView method from the function you just created in the previous step.
4. Add Template modifications for public facing templates. You'd can do that from http://yourxfinstall.com/admin.php?template-modifications/
You need to add template modifications to the following templates: account_wrapper - To add a link to your new page in the sidebar. navigation_visitor_tab - To add a link to the popup when you hover over your username.
I think that should be it for your needs and you can figure the rest out once you get the basic idea of XF Structure.