Sprawdź sobie czym jest plik gitignore i jak z niego korzystać, jakie filtry są polecane dla .NET i C#. Przede wszystkim foldery bin i obj nie powinny znajdować się na repo. "Często gęsto" te foldery mogą dużo ważyć, a każdy kto ściągnie repo i tak sobie je utworzy podczas builda. To tam ląduje kod wynikowy podczas wykonania builda. Gwoli ścisłości w folderze bin bo obj jest do czegoś innego.
Oprócz tego spoko no. Prosta apka konsolowa, ładnie napisana jak na początek. Kilka uwag zawsze mogę zostawić ale jeśli czegoś nie do końca zrozumiesz na ten moment to się zwyczajnie nie przejmuj, baw się, eksperymentuj, oglądaj tutoriale. To jest ten czas.
Co do tych uwag co je miałem zostawić:
Masz silnie powiązaną aplikację z konsolą. W każdej, lub większości klas masz użycie Console.WriteLine. Jeśli chciałbyś Zamiast na konsole to utworzyć ze swoich klas na przykład stronę internetową to byłoby dużo roboty nad zmienianiem kodu. To jest generalnie źle patrząc pod kątem dobrych praktyk. Rozsądnie byłoby rozdzielić aplikację na warstwę danych, warstę dostępu do danych i logiki (domena) i warstwę prezentacji. O co mi dokładnie chodzi, już tłumaczę. Warstwa dostępu do danych to klasy, które albo łączą się z bazą danych lub odczytują/zapisują dane z/do pliku lub, jak w Twoim przypadku, mogłaby to być klasa, która przechowuje listę Twoich produktów.
Warstwa dostępu do danych, to warstwa, która potrafi na wyżej opisanej klasie wywołać pewne akcje. Klasa tej warsty może mieć metody GetProducts (zwraca wszystkie produkty), AddProduct(dodaje nowy), EditProduct(edytuje podany produkt).
Warstwa Prezentacji: klasy tej warstwy korzystają z klas dostępu do danych aby wykonać zażądane przez użytkownika akcje. Ta warstwa jako jedyna może mieć metody z klasy Console. Dzięki takiemu podziałowi odpowiedzialności, gdybyś ze swojej aplikacji chciał zrobić API albo stronę internetową, albo nawet aplikację reagującą na głos to musisz podmienić tylko tą jedną warstwę :)
Tak jak pisałem. Jeśli nie do końca to czujesz to znaczy, że jeszcze na to za wcześnie. Nie musisz się męczyć teraz, na wszystko przyjdzie czas. Jeśli jednak rozumiesz przesłanie to bardzo się cieszę i gratuluję szybkich postępów w nauce.
Baw się dobrze przy programowaniu i powodzenia w dalszych wyzwaniach.