I have added few reference documents below which are result of few read out on the internet. Not sure how much it will help but if basics are clear then I think anything is possible really.
You can get started by creating Node.js app [Example repository ]
Mnemonic Improvement Protocol - Since any wallet would start with the creation of phrases, you will need that function to get started with. Either 12 words or 24 words, that will define whether it is going to be 128 or 256 bits long entropy.
Further generations:
Learn about secp256k1 elliptic curve for cryptographic computations
Learn about Keccak-256 hashing alghorithm
I might be talking randomness with little learning phase. But here is the article which you should learn in depth to understand how everything runs.
They have also given codes for every step above.
Repository required:
1. 01_newAccount.js
2. 02_restoreWallet.js
3. 03_send.js
4. package.json
5. yarn.lock
References:
1. Add How to Build a Crypto Wallet example
2. How To Build a Crypto Wallet
3. Entropy
4. Keccak-256 hashing alghorithm
5. secp256k1 elliptic curve