There aren't any reliable programs/apps that will completely and universally transfer everything on the phone to another phone. Samsung has Smart Switch, but that's only for Samsung phones. You'll probably have to do things in a piecemeal fashion:
1. Contacts: If these are all saved to your Google account, they will sync automatically with your new phone as long as you log into it with the same Google account. You can tell if the contacts are saved to Google by going to contacts.google.com on your computer browser and seeing if they're all there. If not, then you'll have to export the contacts to a .vcf or .csv file (look for an Export option in the Contacts app menu), then import that file to your Google Contacts:
https://support.google.com/contacts/answer/1069522?hl=en
2. Photos: The easiest thing to do is to use Google Photos to back up all of your photos to your Google Photos in the cloud:
https://support.google.com/photos/answer/6193313?co=GENIE.Platform=Android&hl=en. If you set it to High Quality (not Original Quality), you get unlimited backup space. Once backed up, these photos are accessible from any device that is logged into the same Google account. You can download any of the photos if you want the photo to be saved locally, but it usually makes more sense to keep the photos in the cloud.
3. Apps: If you installed all of your apps from the Play Store, they should all be reinstalled on the new phone automatically, if you select the option in the Setup Wizard to restore from a previous phone. However, app data won't be restored, unless the app took advantage of the Google Drive backup feature (which not all apps will use). If you want to make sure all app data is transferred, try using
Helium.
4. Email: Assuming you use Gmail or some other email provider that uses an IMAP server, your email will sync automatically.
5. SMS: Use
SMS Backup & Restore.
6. For various standalone documents or other files, upload them to Google Drive.