A C# Client-Server university project with emphasis on the OOP patterns implementation and refactoring