Enhancing Recommendation Systems with GNNs and Addressing Over-Smoothing