you could fit a fourth generation i7 or i5 in the same motherboard, but it's a h97 motherboard so it's not really made for overclocking.
the i3 can't overclock anyway but if you are going to buy a i7 4790k (make sure its a k series processor otherwise you can't overclock it) then a z97 chipset would be better
as for the graphics card, the 970 will atleast do 3 more years at 1080p gaming (probably even more depending on the fps you are looking for).
If the 970 is getting old and can't keep up anymore you can just simply replace it but keep in mind that you might need to upgrade your psu if you are going to upgrade to a more powerhungry graphics card.
https://pcpartpicker.com/part/asrock-motherboard-z97extreme4
this is a good z97 motherboard that can fit up to 2 graphics card.
if you are sure about upgrading to a fourth generation i7 k series processor get this 1 instead
and you could always add another 970 in the future