• Home
  • /
  • BackEnd
  • /
  • S2E2 Programowanie szkieletu aplikacji skrótowiec

S2E2 Programowanie szkieletu aplikacji skrótowiec

Tworzenie podstawowych funkcjonalności aplikacji zabiera zawsze masę czasu. Będziesz musiał stworzyć od zera podstawowe funkcjonalności aplikacji webowych. Dla skrótowca tak jak dla każdej innej aplikacji będziesz tworzyć podstawowe klocki, bazę z której można skorzystać podczas budowania innych apek. Fundamentalnymi klockami będą:

Baza danych

Bazę danych trzeba tak zaprojektować, żeby była re-używalna podczas początkowego procesu tworzenia innych aplikacji. Schemat takiej bazy, którą można wykorzystywać w późniejszym okresie zawiera tylko dane potrzebne do logowania użytkownika, bez logiki biznesowej.

Back End

Aplikację będziesz tworzyć w javie, proces tworzenia przyspiesza znacznie framework spring. Najszybszym sposobem jest skorzystanie z spring boota – wersji springa, którą możesz wstępnie skonfigurować do potrzeb tworzonej aplikacji poprzez dostępny konfigurator: https://start.spring.io/

Oprócz inicjalnego skonfigurowania aplikacji na tym etapie będziesz musiał oprogramować logikę odpowiedzialną za:

- logowanie się do panelu admina / zapamiętaj mnie,
- odzyskiwanie zapomnianego hasła,
- rejestrację nowych kont,
- sprawdzanie poprawności podanych maili / haseł itd,
- administrację użytkownikami w panelu admina,
- zabezpieczenie end pointów odpowiedzialnych za panel admina,
- metryki aplikacji, jej stan,
- logowanie wyjątków,
- profile developerski / produkcyjny.

Front End

Do programowania Front endu będziesz używać java scriptu. Tak jak w przypadku back endu skorzystasz z frameworka który przyspiesza pracę, angulara dla java scriptu oraz dla html bootstrapa.

Teraz wszystkie funkcjonalności które są wypisane powyżej trzeba zaprogramować w angularze.

Na moje oko stworzenie samego inicjalnego „szkieletu” dla aplikacji webowych, z wymaganiami które są spisane powyżej dla jednej osoby zajmie minimum kwartał, ta wizja nie napawa optymizmem ;/

W swojej karierze napisałem w ten sposób trzy aplikacje, nie jest to nic przyjemnego, można to porównać do tworzenia strony internetowej, gdzie na początku musisz zawsze zresetować style dla linków, ustawić treść na środku itd. Niby raz to zrobisz i kopiujesz, ale zawsze zajmuje to dużo czasu ;/

Na nasze szczęście jest dostępna alternatywa dla opisanego powyżej podejścia, projekt jhipster: https://www.jhipster.tech/

Jhipster jest generatorem kodu, który tworzy w oparciu o spring boota, angulara oraz bootsrapa działającą aplikację webową z podstawowymi funkcjami. Dzięki takiemu podejściu możesz skupić się na programowaniu logiki biznesowej zamiast wynajdowania koła od nowa.

1. Instalacja oprogramowania potrzebnego do Tworzenia aplikacji w jhipster

W pierwszej kolejności będziesz musiał zainstalować potrzebne oprogramowanie:

- Java 11 najlepiej https://adoptopenjdk.net/ . 
- Node.js https://nodejs.org/en/ wersję LTS 64 bitowa
- generator JHipster: npm install -g generator-jhipster

To wszystko co potrzebujesz do stworzenia pierwszej aplikacji.

2. Generowanie kodu aplikacji

Dla windowsa polecam powershella z uprawnieniami administratora unikniesz różnych komplikacji.

admin windowsa

Otwórz terminal przejdź do folderu w którym będziesz programował aplikację, następnie wykonaj komendę:

jhipster

W ten sposób uruchomisz generator kodu:

Widok generatoru kodu jhipster

I w tym miejscu zaczyna się cała zabawa 😀

Do wyboru będziesz miał dość dużo opcji konfiguracji tworzonego projektu, o wszystkich możesz doczytać na stronie projektu. Dla skrótowca będziesz korzystał z monolitycznej aplikacji (back end i front end w jednym miejscu).

Na początku wkleję screena dla łatwości ogarnięcia tematu:

Zrzut ekranu dla wyboru opcji konfiguratora
- Wybierasz pierwszą opcję:
    Monolithic application
- Następnie wpisujesz nazwę aplikacji, lub zostawiasz taką samą jak nazwa folderu w którym generujesz potwierdzając enterem,
- Nie używasz w tym projeckie Spring WebFlux czyli enter. 
- Określasz nazwę pakietu:
    pl.com.skrotowiec
- Wybierasz rodzaj autentykacji na jwt
- Następnie wybierasz bazę danych SQL 
- Typ bazy danych PostgresSql
- Dla developlmentu H2 z zapisem danych na dystku
- Cachowanie Encache
- Wybierz cachowanie dla hibernate 
- Maven dla budowania back-endu
- Nie wybieraj jhipster registry
- Nie wybieraj innych technologii
- Dla frontowego frameworka wybierz Angular
- Zaznacz generowanie panelu admina
- Wybierz dowolny theme jaki będziesz używał,
    ja wybrałem darkly oraz dark navbar
- Tłumaczenia nie będą potrzebne
- Wybierz język polski dla aplikacji
- Nie wybieraj innego frameworka do testowania
- Nie wybieraj innych generatorów kodu 

3. Uruchamianie wygenerowanej aplikacji

Dla windowsa wykonaj komendę uruchamiającą:

./mvnw

Gotowe, właśnie stworzyłeś w prosty sposób działającą aplikację, bazę z której będziesz zaczynać programować logikę biznesową.

One Comment

Dodaj komentarz