how to have our own crypto wallet in blockchain system to send and receive crypto among it?

I want to create a cryptocurrency wallet in the blockchain system. also I don’t want to use other wallet APIs.
for this purpose which knowledge do I need to know? which programming languages do we need?
I know how to program with node js.