OriginalGriff
Вы не "узнаете, как создать свой первый полностью работающий проект" "через открытые источники", или действительно глядя на любой тип существующего проекта.
Вы учитесь на практике, и существующий проект никогда не говорит вам, почему он таков: какие варианты могли бы быть использованы, но не были - и почему они не были! И эти "не сделал" - самая важная часть.
В общем, проект довольно прост:
1) Design brief.
2) Specification and test criteria
3) Design documents
4) Code
5) Test
6) Debug
7) Release
И любая часть этого может вызвать переработку более ранних частей для изменений, и очень, очень часто это происходит. Например, вы пройдете 4, 5 и 6 много - много раз в одной эволюции проекта- и часто будете возвращаться к 3 или даже 2 - а иногда и к 1!
Поэтому дайте ему попробовать, придумайте идею, которая может вас заинтересовать в реализации, и набросайте, что вы хотите, чтобы он сделал - это краткое описание дизайна.
Конкретизируйте это с подробностями того, как пользователь взаимодействует с ним, и как он взаимодействует с другими системами, такими как база данных и т. д.; решите, что будет квалифицироваться как "сделано". Это ваша спецификация и критерии тестирования.
Используйте это для разработки вашего общего дизайна: классы, структуры, взаимодействия, слои, ... Это ваша проектная документация
Затем начните кодировать, тестировать этот код и убедитесь, что он работает!