Demo prezentacyjne: link
Zewnętrzne API z: openweathermap
old repo Zamienić na CQRSa, ale dużo roboty przy IOC będzie i wstrzykiwaniu zależności. W Javie byłoby raz dwa. W tedy, rzeczy do faktycznej modyfikacji encji miałby admin,
Pracownicy tylko by zgłaszali poprawki / modyfikacje, i one musiałby być zatwierdzone przez któregoś z adminów.
Niby spoko się robi, ale jednak Java jest przyjemniejsza, bardziej widać co sie dzieje, bardziej zrozumiała, Nie ma babrania sie we frontend i backend. Bardziej przejrzyste.
Niemniej, C# jest spoko dla małych aplikacji / gdy trzeba zrobić i backend i frontend, jakis szybki crud bez skomplikowanych operacji i relaci. Boo Relacje i zarządzanie bazą danych równiez jest problematyczne, każdą metode trzeba robić, definiować, zabezpieczać, nie ma jednego typowego flow.
Dodać do windparku oopcję, aby dodać wiatrak, iw tedy już automatycznie windpark ustawi się na tego konkretnego?
Spełnione wymagania:
- Podstawowe operacje CRUDowe
- Podejście MVC,
- Stronnicowanie,
- Wstrzykiwanie zależności,
- Logowanie + Ukrywanie / Zabezpieczenie API
- Customowe projekcje (Pobieranie tylko tego co potrzebuje - np Guidy i Nazwy / ShortDtos itp)
- Nawigacja między widokami
- Wyświetlanie danych z encji na widoki
- Wyświetlanie "stalych danych" (nie z encji)
- Formularze
- Kilka featurów jest
- Jest Logowanie = rejestracja, logowanie, wylogowywanie, zabezpieczenie dostępu,
Dodatkowe rzeczy / funkcjonalności / dodatki
- Użycie ORMa (Co nie zawsze się zdarza, niektórzy niskopoziomowo zarządzają bazką, SQLki lecą)
- O ile byłot możliwe, wykonywanie Requestów zgodnie ze sztuką (a przynajmniej tak mi się wydaje)
- Stosunkowo przemyślana struktura programu
- Użycie AspNetCore.Identity do ogarnięcia userów (co również nie zawsze się zdarza, inni przykładowo z palca hashowali md5-tką)
- Wartości domyślne w Formularzach
- Dodanie Service,
- Rozbudowana nawigacja między widokami, wiele różnych opcji,
- Logiczny interface (co nie zawsze się zdarza)
- Połączenie z bazą Postgresql w Dockerze
- Stworzenie Migracji
- Bardziej skomplikowane wyświetlanie danych w widokach (Wybieranie odpowiednich propertisów)
- Wyświetlanie złożonych encji bazodanowych na widokach (wybór WindParków przy dodawaniu Wiatraka)
- Bardziej Optymalne zapytnia do bazy danych (pobieram tylko to co potrzebuję)
- Połączenie z zewnętrznym API (Pogoda)
- Konwertowanie JSONów odpowiedzi na Obiekty w Programie.
Działa sobie ładnie poprawnie wszystko:
Dizała dodawanie WindParków oraz przekierowanie
Edycja
Usuwanie (z Potwierdzeniem)
Wyświetlanie wszystkich Windparków
Stronicowanie
I wiele wiele innych, wszystko jest na demo.