I'm a software developer but I'm new on bitcoin or blockchain programming
I want to implement a bitcoin-based web app that creates address'es for users and just makes transactions.
Did we need to have our full node for creating transactions?
Could we confirm and create transactions over DNS seeds?
I assume that by "payment processor" you mean software that will generate addresses that can receive bitcoins and verify that the bitcoins have been received.
You don't need to create transactions in order to receive bitcoins, but you do need a node in order to monitor the block chain so that you can verify that the bitcoins have been received.
DNS seeds are used to find other nodes. You need other nodes in order to receive transactions and blocks so that you can verify payments.
Mastering Bitcoin by Andreas M. Antonopoulos is a good source for basic information. You can also view the source of projects on Github such as
bcoin,
bitcoin, and
libbitcoinUnfortunately, We didn't find any useful resource for Architecture, for example how I should store user's private keys?
You must not store private keys. You will get hacked and lose bitcoins. Instead, a user provides you with an
extended public key that you use to generate addresses for the user.