Najpierw powoli jak żółw ociężale – czyli tworzymy projekt

No to startujemy.

Na początku pokażę wstępne przygotowanie projektów. Oczywiście w trakcie tworzenia aplikacji może się to zmienić, ale mimo wszystko na początku dobrze jest mieć jakiś wstępny podział.

System planuję podzielić na projekty z WebApi, warstwą dostępu do danych, logiką biznesową oraz aplikacją mobilną. Oczywiście nie zapomnę o testach jednostkowych, jednak nie przewiduję prowadzenia projektu w TDD, raczej pokryję testami logikę biznesową.

Aplikacja webowa

Zawarte tutaj będzie WebAPI wraz wywołaniem logiki biznesowej. Dołączona zostanie także obsługa kont użytkowników.

Rozpoczynam od utworzenia pierwszego projektu oraz solucji. W oknie tworzenia nowego projektu wybieram Visual C# -> Web -> ASP .Net Web Application (.NET Framework).

   

Wybieram pusty szablon (Empty) oraz zaznaczam pole przy pozycji „Web API”, dzięki czemu Visual Studio utworzy mi podstawową strukturę katalogów. Zaznaczenie „Add unit tests” spowoduje utworzenie projektu z testami jednostkowymi.

 

Logika biznesowa

W jej skład będzie wchodził między innymi system OCR, który może być przydatny także przy innych projektach, niekoniecznie związanych z konkursem. Logikę biznesową zamierzam umieścić w osobnej bibliotece.

W związku z tym na ekranie dodawania nowego projektu tworzę projekt typu „Class Library”.

 

Testy jednostkowe także umieszczam w tego typu projekcie.

 

Warstwa dostępu do danych (DAL – data access layer)

Dane użytkowników, informacje z wczytanych paragonów oraz zdjęcia musimy gdzieś zapisać. Nie będę przechowywać w aplikacji mobilnej większych danych, szczególnie zdjęć, bo istnieje ryzyko, że po krótkim czasie użytkownikowi po prostu zabraknie miejsca w telefonie lub na karcie pamięci. Poza tym może przez przypadek usunąć zdjęcie, które za jakiś czas chciałby obejrzeć, a my nie będziemy posiadać jego kopii.

Schemat tworzenia projektu jest identyczny do poprzedniego kroku.

 

Aplikacja mobilna

Póki co jedna wielka niewiadoma. Ostatnią aplikację na telefon napisałem prawie 3 lata temu i to w Javie, więc będę musiał sobie przypomnieć w jaki sposób się to robi. Wstępnie planuję wykorzystać Xamarin, ale jeśli w trakcie pisania projektu okaże się, że szybszą opcją będzie aplikacja napisana bezpośrednio w Javie, rozważę zmianę.

Póki co dodaję do solucji projekt typu Blank App (Android) z grupy Android.

 

Ostatecznie moja solucja wygląda następująco:

To tyle na dziś. W następnym poście opiszę jak oczyściłem utworzone projekty ze zbędnych rzeczy oraz zainstaluję potrzebne biblioteki zewnętrzne.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *