Social Cooking – wstępny setup

Od dzisiaj zaczynam prawdziwą przygodę z Social Cooking, a także Daj Się Poznać. Na koniec dzisiejszego posta będzie wiadomo, jak będzie wyglądała struktura projektu, a także zobaczycie jak poradziłem sobie z pierwszym podejściem do GitHuba EVER. Zapraszam!

Nadszedł długo wyczekiwany moment stworzenia projektu. Już klikam File -> New -> Project. Już się cieszę, że zaraz rozpocznie się zabawa w konfigurowanie wstępnego setupu, aż tu nagle przychodzi jedna drobna myśl. Cholera… Przecież nie mogę skorzystać z mojego TFSa, tylko muszę umieścić wszystko na GitHubie. Mam jakieś tam pojęcie o samym Git’cie. Wiem czym są branche, commity itd., ale nigdy nie podchodziłem do platformy GitHuba. No nic. Trzeba się jeszcze chwilę wstrzymać z rozpoczynaniem projektu, żeby zaraz się nie okazało, że stracę masę czasu na to, żeby to, co już jest zrobione umieścić w moim repo. No to bum… Opuszczam swoją strefę komfortu, ściągam klienta, loguję się i synchronizuję stworzone wcześniej repozytorium. Moim oczom ukazuje się widok, w którym wygląda, że wszystko jest już gotowe.

Hej! nie było tak strasznie!

github - welcome

No to wracam do Visuala.

Na dobry początek tworzę w solucji 3 projekty.

  1. SocialCooking.Web, który będzie trzymał Angularowy front-end
  2. SocialCooking.API, tutaj sprawa prosta. ASPowe WebAPI
  3. SocialCooking.Domain, który jest biblioteką klas trzymający całą logikę bazodanową i biznesową.

Zaczynam od krótkiego testu SocialCooking.Web.

Stworzyłem prosty index.html, wstawiam testową dupę:

<!DOCTYPE html>
<html>
<head>
    <title>Dupa</title>
	<meta charset="utf-8" />
</head>
<body>
    Dupa
</body>
</html>

I działa 🙂 Bo i w sumie co miałoby na tym etapie nie działać.

Lecimy dalej.

SocialCooking.Domain

Dawno temu, wraz z początkami mojej przygody z ASP.NET MVC czytałem sobie książkę Pro ASP.NET MVC 4. W jednym z początkowych rozdziałów Adam Freeman, opisując działanie Ninjecta zaproponował, żeby w każdej aplikacji oddzielić wszystko, co związane z bazą danych i umieścić to w oddzielnym projekcie. Tam miałem stworzyć katalogi Abstract, Concrete, Entity oraz Context. Co się w nich będzie znajdowało opiszę później, ale myślę, że w sporej mierze jest to oczywiste. Mimo, że Ninjecta w tym projekcie używać nie będę, to sposób, w jaki tworzę swoje projekty pozostał od kilku lat niezmienny.

W związku z powyższym powstały wspomniane foldery. Na razie niech sobie tam leżą i czekają na lepsze dni 🙂

SocialCooking.API

Tworzę kolejny pusty projekt aplikacji webowej, tym razem jednak zaznaczając WebAPI tak, abym otrzymał projekt ze wszystkimi potrzebnymi mi referencjami.

No i git. Wstępny setup projektu gotowy. A jak już przy gitcie to trzeba spróbować zrobić pierwszego commita. Uwaga, uwaga. Wielka chwila w moim życiu. Ja, wielbiciel TFS’a, sceptyk gita będę robił pierwszą wrzutkę do GitHuba.

Wracam do apki GitHubowej, widzę wielką kropę przy zakładce Changes i okazuje się, że do projektu wprowadzonych zostało 410 zmian, które czekają na wrzucenie do repozytorium. Okraszam wrzutkę krótkim, ale treściwym komentarzem Initial setup. I klikam Commit to master.

Wszystko zakończyło się sukcesem. Trwało to dobre 3 minuty (matko, TFS pewnie by to zrobił w kilka sekund…), ale jest.

Co dalej?

Już niedługo opiszę konfigurację WebAPI pod kątem autentykacji i autoryzacji. Muszę przyznać, że zawsze zostawiam to na później. Nigdy nie lubiłem tej części aplikacji i często przez to musiałem kopać się z masą kodu, żeby odpowiednio przerobić aplikację. Tym razem postanowiłem jednak pójść po rozum do głowy i od tego zacząć. Wyzwanie jest o tyle większe, że nigdy nie spinałem tego z Angularem. Także ja biorę się za kod i czytanie na temat integracji Angulara ze standardowymi mechanizmami .NETowymi dotyczącymi autoryzacji i autentykacji, a Was zapraszam już niedługo.

Przypominam, że kod projektu możecie znaleźć pod linkiem [GitHub] SocialCooking, a samą stronę będę umieszczał pod adresem http://kduszynski.pl/socialcooking.

Pozdrawiam 🙂

Related posts