Hi @Rahaman,
First of all, I suggest looking at Points to consider when creating a fungible token (ERC20, ERC777)
Tokens should be appropriately tested and audited, along with ensuring regulatory compliance.
A deflationary token can cause issues such as this recent issue: https://medium.com/balancer-protocol/incident-with-non-standard-erc20-deflationary-tokens-95a0f6d46dea
If you wanted to proceed, I suggest looking at extending from ERC20PresetMinterPauser.
You could then override _beforeTokenTransfer
to make any modifications to the amount such as burning. See Using Hooks for more details.
You would need to check that both from
and to
are non-zero so that you only do this for transfers and not for mint or burn.