970 is faster than 290 and is nearly equal to 290x. So even if u r gonna play on bigger resolutions like 1200p and 1440p, u'l b absolutely fine with that build.
But if u can invest jst a little higher then go with 290x. I wont tell u to go with 980, coz even if its a beast, its still costly.
But remember 970 requires way too less watts than 290x. So if u r gonna go with it, it'l require min. 850-950watts psu. Or u can go with amd r9 300 series gpu, which will launch shortly in may b a couple of months.
About ram, the newer and upcoming games will be very hungry games, so u might need more than 8gigs in future. U can always add more ram as u need in future. But this is not necessary, coz the games will depend always on the vram of gpu so u'l be fine.
Finally, u hv got a nice build. U can go with 290x instead of 970, choice is urs. And yeah, every part is copatible with each other.
Gud luck...
Dnt 4get to select bst answer...
Also plz mention which monitor u r using..