Graph Algorithms for Community Detection & Recommendations