#### **Dieses Projekt spiegelt einen Stand vom 01.11.2022 meines persönlichen Crawling-Projektes wider.** #### **Die Dateien sind nicht final und wurden aus Lizenzgründen und privaten Gründen teilweise abgeändert.** #### **Das Repository soll lediglich dienen, einen groben Einblick in meine Programmierkünste gewähren.** #### **Es soll auch aufzeigen, in welche Layer ich meine Applikationen gewöhnlich unterteile und welche coding conventions ich verfolge.** ### **Das Projekt beinhaltet:** **.Common** - *Class library (.netstandard 2.0)* - vereinheitlicht Models für typsicheren und effizienten Austausch **.Core** - *Class library (.netstandard 2.0)* - Grundlogik für HTTP Requests an die zu crawlende Webseite **.DataBase** - *Class Library (.net 6.0)* - Datenbanklayer für vereinfachte CRUD Operationen, wird von .WebAPI konsumiert **.PhilExampleMobile** - *(Xamarin.Forms)* **.PhilExampleMobile.Android** - *(Xamarin.Android)* **.PhilExampleMobile.iOS** - *(Xamarin.iOS)* - Mobile App für den User gedacht, um Crawl-Aufträge zu verwalten **.Scheduler** - *Class Library (.net 6.0)* - beinhaltet generische Objekte um Aufgaben im Hintergrund (ggf. Backgroundthreads) zu erledigen, Wird als schlichter Loadbalancer für die User-Crawl-Aufträge benutzt und von .WebAPI konsumiert **.TCPAPI** - *Console App (.net 6.0)* - fungiert als TCPServer und kann von .PhilExampleMobile konsumiert werden, um zügig über eine TCP Verbindung Crawl-Ergebnisse zu versenden um letztendlich den User auf direktem Weg zu benachrichtigen - dieses Projekt ist eingefroren. Es wurde überflüssig, da ich mich für ein Benachrichtigungssystem über Telegram entschlossen habe **.WebAPI** - *ASP.NET Core App (.net 6.0)* - RESTful WebAPI die von .PhilExampleMobile konsumiert wird um Crawl-Aufträge anzulegen, und letztendlich in der Datenbank von .DataBase zu speichern. - zuständig für das Verwalten der User und Crawl-Aufträge. - implementiert auch die WTelegramClient-Library über welche der User informiert werden kann. Author: Philipp Marx