Название и сам текст говорят немного о разном. Как создать pet проект? Берёшь и создаёшь. А вот где почитать про архитектуру более интересный вопрос. Для начала можно, а в какой-то степени и нужно написать как попало, без архитектуры, чтобы понять а зачем она нужна. Если осознанение архитектуры уже есть, то просто читать про паттерны и generic, reflection в C#. Из базовых вещей есть MVC и чистая архитектура. И потом писать проект применяя что-то из этого. У такой архитектуры есть и минусы, нужно писать кучу дополнительных абстракций и интерфейсов, код становится сложнее, но устойчивее к изменениям.