Skip to content

Jakub Kaleta Posts

Mikrobank – Tożsamość

Ponieważ elektroniczny bank bez użytkowników to śmieszna koncepcja, następnym krokiem będzie dodanie tożsamości do aplikacji. Jak zawsze, zacznijmy od lektury dokumentacji. No niby świetnie, bo można wszystko wyklikać. Ale jest jeden problem – używam VS Code, w którym nie ma wizardów do tworzenia projektów. Jest tylko command line. Strona coprawda podaje co zrobić w takim wypadku, ale tylko przy tworzeniu projektu, nie przy edycji istniejącego: “If using the .NET Core CLI, create the new project using dotnet new mvc –auth Individual. This command creates a new project with the same Identity template code Visual Studio creates.” Googlowanie niewiele dało, wygląda na to że trzeba będzie zrobić to ręcznie. Same wpisy konfiguracyjne to jedno, a drugie to widoki, modele i kontrollery, których dodawanie ręcznie byłoby żmudne i narażone na błędy. Stworzę więc nowy projekt, jak w tutorialu, a potem skopiuję z niego co trzeba do Mikrobanku. dotnet new razor –auth Individual Do…

Leave a Comment

Mikrobank – struktura projektów

W tej chwili mam już działający proof of concept – z bazą i kilkoma kontrolerami. Zanim dodam nowe modele, warto ustrukturyzować trochę kod i zrobić bibliotekę na kody związane z bazą danych. Zmiany znajdują się w tym commicie. Do tej pory microbank był to project .net core mvc. Wszystko było w jednym folderze, włączając w to Data, Pages etc. Bardzo trudno się w tym połapać, a ja lubię porządek. Po pierwsze, dodałem nowy projekt do microbank.sln – nazwałem go “Data”

Następnie, żeby przenieść aplikację asp.net do osobnego projektu, wykonałem następujące komendy:

Kolejnym krokiem było przeniesienie do nowego folderu (WebApp) wszystkich folderów i plików, które należą do apki: Pages wwwroot appsettings.* bundleconfig.json Program.cs and Startup.cs. Wreszcie naprawiłem namespace’y we wszystkich plikach, do skutku – żeby się zaczęło kompilować. Potem wystarczyło tylko dodać do WebApp.csproj referencję do nowego projektu Data.csproj

I bingo. Aplikacja się uruchomiła. Również na AppHarbor 🙂

Leave a Comment

Mikrobank – prawdziwa baza danych, część 2 – konfiguracja Entity Framework

Setup lokalny Migracje w .Net core EF dodaje się z command line’a. Ale żeby móc to zrobić, wpierw potrzebujemy zainstalować narzędzia do tworzenia migracji i baz EF. Jak to zrobić opisano tutaj: Ważne, żeby nie zapomnieć RĘCZNIE wkleić do project file poniższej referencji: https://stackoverflow.com/a/47079152/148158 Następnie:

I to pozwala już mi na stworzenie pierwszej migracji:

Resultat: Jest baza! Mogę od teraz dodawać konta testowe, które są w stanie przetrwać restart aplikacji. Albo innymi słowy – mam już CR_D z CRUD 🙂 Setup na AppHarbor O ile lokalnie poszło gładko, to z AppHarbor musiałem się trochę namęczyć. Najpierw zainstalowałem SQL Server AddOn A potem już tylko próbowałem zrozumieć co jest napisane w artykule o używaniu Sequelizera Zmarnowałem naprawdę dużo czasu, bo uwierzyłem że AppHarbor podmieni automatycznie mój connection string zdefinowany w appsettings.json, jeżeli tylko nadam mu odpowiedni klucz. Tę samą nazwę wystarczyłoby tylko ustawić jako ‘connection string alias’ w konfiguracji…

Leave a Comment

Mikrobank – prawdziwa baza danych

Budując Microbank chcę najpierw zbudować MVP, a potem stopniowo dodawać funkcjonalności. W poprzednim wpisie skończyłem na działającej aplikacji, uruchomionej na AppHarbor. Dla ułatwienia używała ona bazy danych w pamięci, jakiej zwykle używa się w projektach testowych. Następnym krokiem jest podłączenie prawdziwej bazy danych.   Punktem wyjścia jest ten oto kod w Startup.cs, który uzywa InMemoryDatabase.

Wybór bazy Ale jakiej bazy powinienem użyć? Sprawdźmy najpierw, na co pozwala AppHarbor, za darmo. https://appharbor.com/addons ElephantSQL – PostgreSQL as a Service mLab MongoDB – MongoDB-as-a-Service MySQL – Shared MySQL Database SQL Server – Shared Microsoft SQL Server as a service Kolejne kryterium to – z czym może współpracować Entity Framework Core? Zaglądamy na listę providerów, skąd dowiadujemy się, że: MS SQL Server (naturalnie), MySql (zgodnie z oczekiwaniami) i PostgreSQL  są wspierane. Cóż, właściwie samo przechowywanie danych nie jest dla mnie w tym projekcie szczególnie interesujące. Celem projektu jest poznanie .net Core i pobawienie się…

Leave a Comment

Microbank – pierwszy deployment na AppHarbor

Deployment Tutaj nie było dużego wyboru. Nie mogłem znaleźć żadnego serwisu który oferowałby hostowanie asp.net core v2 za darmo, oprócz AppHarbor. Bardzo łatwo poszło skonfigurowanie aplikacji, bez problemu dodałem remote’a AppHarbor i zrobiłem pierwszego pusha. Jednak potem zaczęły się schody. Problem #1 – kod się nie buduje: Czyli nie ma pliku solution. Standardowo .net core nie dodaje solution. Trzeba to zrobić ręcznie.