Geometry of String Theory Compactifications