/WindmillsManagment

Final project for .NET course at AGH UST

Primary LanguageC#

DEMO

Demo prezentacyjne: link

Zewnętrzne API z: openweathermap

Przemyślenia / TODO / Rozwój

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?

Wymagania

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.

SS z aplikacji

obraz

Działa sobie ładnie poprawnie wszystko:

obraz

obraz obraz

Dizała dodawanie WindParków oraz przekierowanie

obraz

Edycja

obraz obraz

Usuwanie (z Potwierdzeniem)

obraz obraz

Wyświetlanie wszystkich Windparków

obraz

Stronicowanie

obraz

I wiele wiele innych, wszystko jest na demo.

Bazka obraz

obraz