Firstly, I suggest trying Apple's official tools.
The first one is iTunes. Connect your iPhone 7 to your computer via USB cable, then click backup to save all your files, apps and settings on your computer. After backup, connect your iPhone 8 to computer via USB cable, then click recovery to install what you backup just now.
The second one is iCloud. Find iCloud setting on your iPhone, then click sync to backup all your files, apps and settings in iCloud. Start your iPhone then choosing recovery from previous iPhone. But the cons are you need to download all apps after recovery and the storage of iCloud is only 5GB.
If you don't wanna try these two tools, then I recommend Leawo iTransfer. Simply connect your iPhone 7 and iPhone 8 to your computer together, then click to transfer all your data from iPhone 7 to iPhone 8.
Here is the tutorial you can refer to: https://www.leawo.org/tutorial/transfer-data-from-old-iphone-to-iphone-6s.html?qa=1409