My short answer would be to get couple Garmin Dash Cam Mini 2's (for front and back).
Longer answer: the electronics for almost all dash cams are made by the same manufacturer, so only the sensor and optics vary, and none of them are great. I've always had good luck with Garmin and their app is reasonable. Viofo gets good reviews for optics/video quality but pretty bad reviews for the app. Blackvue cameras look great, but they have some real privacy problems, the app gets terrible reviews, and the optics/video quality is not great. Lots of generic/no-name versions on Amazon as well if you just want cheap.
If someone decides to make a dash cam with video quality anywhere near a GoPro, I'd love to buy that. (GoPros themselves overheat too quickly for this application though.)