Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. Wykorzystane technologie
  2. Aplikacja została napisana w obiektowym języku JAVA, w wersji 8. Jest oparta na frameworku Spring z domyślną konfiguracją dostarczaną przez Spring-boot, projekt jest budowany za pomocą Maven.
  3. Bazą danych jest wolnodostępowy system zarządzania relacyjnymi bazami danych PostgeSQL, do komunikacji pomiędzy aplikacją oraz baza danych wykorzystano Java Persistence API oraz Hibernate. Dzięki takiemu rozwiązaniu i odpowiedniej fladze w pliku properties mozna w dowolnym momencie zmieniać strukturę bazy danych za pomocą mapowania klas JAVA oraz wykonywać jej uaktualnienie lub tworzyć ją od nowa, co bardzo ułatwia ewentualny dalszy rozwój aplikacji. Mapowanie zostało zaimplementowane za pomocą adnotacji Entity, relacje pomiędzy poszczególnymi tabelami wykonano za pomocą ManyToOne oraz OneToMany. Dostęp do bazy danych z poziomu apliakcji jest możliwy dzięki stworzonym interfejsom rozszerzającym CRUD Repository, wykorzystano domyślne metody (findAll() oraz findBy())
  4. Cześć logiczna aplikacji została zaimplementowana w klasach oznaczonych adnotacją Service, w których interfejsy z repozytoriami są wstrzykiwane przez konstruktor (dependency injection).
  5. Aplikacja wykorzystuje także zewnętrzy system Google Maps, z którym komunikacja odbywa sie poprzez REST API, wykorzystano do tego bibliotekę Apache. Samo parsowanie otrzymanych danych (w formacie json) odbywa się z wykorzystaniem Gson oraz specjalnie przygotowanego modelu danych, którego struktura odpowiada odpowiedzi z Google Maps. przygotowano także klasy przechowujące dane typu temp, które są wykorzystywane w trakcie działania algorytmu, ale nie muszą być zapamiętywane w bazie danych.
  6. W aplikacji nie została wykorzystana autentykacja, wszystkie adresy sąjawne oraz dostępne bez konieczności rejestracji lub logowania na istniejące już konto. Do przechwytywania żądań wykorzystano Controllery, w których zaimplementowano metody z adnotacjami RequestMapping posiadające adres URL oraz rodzaj żądania (POST, GET itp) w postaci parametrów. W kontrolerach także wykorzystano mechanizm dependency injection. Metody posiadają modele, które są przekazywane do zwracanego widoku html.
  7. Pomiędzy warstwą prezentacji, w której wykorzystano standardowy stack fron-end (html, css, javascript), a klasami JAVA wykorzystano Thymeleaf, który jest silnikiem szablonów. Z wykorzystaniem metod typu get oraz set tworzy on dynamicznie strone html (także z wykorzystaniem pętli) oraz odbiera akcję wykonywane przez użytkownika na UI i przekazuje ich dane je do wastwy back-end w aplikacji (wykorzystano akcję submit na form).
  8. Podczas prac wykorzystano równiez repozytorium kodu GIT - Bitbucket, w którym przechowywane były kolejne wersje aplikacji.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement