Best way to mange team customization

Hi folks,
I hope you all are doing great.

Me and my colleagues are new to frappe. We are working on some customizations on erpnext to make it suitable for the KSA VAT system.
Each one is supposed to work on some functionalities (New doctypes and scripts and customizations in existing doctypes)

what is the best practice for coordinating our work together?
best way to transfer our customization to another systems later?
should we make a custom app and add our functionalities in it?
should we make custom doctype and export fixtures or normal doctypes?
What should we record in git ? the whole application or the modifications only?
could you tell us how you manage this with your team ?

I will appreciate any help.
Thank you in advance.