LEKCJA 07 - JAVA (p) - pdf2 - wyszukiwanie danych, punktacja i termin projektu

LEKCJA 07 - JAVA (p) - pdf2 - wyszukiwanie danych, punktacja i termin projektu
ukryj menu
SPEC
aktualizacja: 2022-05-17 08:54:12

Zadanie na dziś

- klient - wyświetlanie listy z obrazkami powiązanymi z samochodem
- serwer - zmiany w klasie samochodu (losowa data, losowa cena, losowy VAT - 0,7,22%)
- serwer - zapis do pliku faktury, przedstawiającej dane wszystkich aut
- serwer - zapis do pliku faktury, przedstawiającej dane aut z wybranego rocznika
- serwer - zapis do pliku faktury, przedstawiającej dane aut z zakresu cen
- komunikacja - fetch

1. podział aplikacji na pliki

dodajemy odpowiednie klasy dla nowych czynności, opis w kolejnych punktach

{Aplikacja}
|
|__ main/java
|   |__ CustomDate.java // klasa daty
|   |__ Helpers.java   // statyczne funkcje pomocnicze
|   |__ Invoice.java   // klasa faktury
|   |__ Invoices.java  // funkcje służące do generowania faktur
|
|__ resources/public
    |__ search.html // nowa strona na dzisiajkopiuj




2. CustomDate

klasa do generowania daty zakupu samochodu w formacie yyyy-mm-dd
potrzebna do manipulowania datą na stronie search.html i na serwerze w klasie Car
przechowuje wylosowaną datę zakupu dla każdego samochodu


public class CustomDate {
    private int day;
    private int month;
    private int year;

    // konstruktor
    // gettery i settery
}kopiuj


proponowane utworzenie obiektu tej klasy

new CustomDate(year, month, day)kopiuj


3. Helpers

klasa przechowująca statyczne funkcje pomocnicze, np losujące

przykład

public class Helpers {

    /**
     * generowanie powitania
     */

    public static String hello(String name) {
        return "Hello " + name;
    }

}kopiuj


wywołanie w App

String h = Helpers.hello("Jan"); // wynik Hello Jankopiuj

4. Invoice

klasa przechowująca dane generowanej faktury

proponowane pola klasy

time; // timestamp wygenerowania faktury, System.currentTimeMillis()
title; // tytuł/numer faktury
seller; // sprzedawca
buyer; // nabywca
list; // ArrayList samochodów do wyświetlenia na fakturzekopiuj


proponowane metody w klasie

- metoda tworząca numer faktury na podstawie daty
- metoda licząca koszt zakupu aut na fakturze
- metoda licząca koszt zakupu aut na fakturze z VATem


5. Invoices

klasa zawierająca metody zwracające dany rodzaj faktury


6. dokumentacja biblioteki itext

podstawowe na dziś funkcje:

a) font

Font font = FontFactory.getFont(FontFactory.COURIER, 20, BaseColor.BLACK);kopiuj

b) paragraf (akapit)

Paragraph p = new Paragraph("FAKTURA", font);
document.add(p);kopiuj


c) tabela

z dwoma kolumnami (dodawane komórki układają się po dwie wierszu, nie istnieje osobny obiekt wiersz)

PdfPTable table = new PdfPTable(2);kopiuj

d) komórka z tekstem

PdfPCell c = new PdfPCell(new Phrase("aaa", font));
table.addCell(c);
document.add(table);kopiuj


pełna dokumentacja itext

https://kb.itextpdf.com/home


7. punktacja

a) Punktacja projektu - 12pkt

strona index.html

- dodanie nowego auta, informacje wg skrinów [1 pkt]
- widoczny alert z danymi nowego auta utworzonymi na serwerze [1 pkt]

strona edit_update.html

- widoczne dane nowego auta [1 pkt]
- usuwanie auta [1 pkt]
- edycja auta (model, rok) [1 pkt]

strona admin.html

- przycisk generowania bazy aut wg skrinów [1 pkt]
- generowanie, zapis na serwerze i możłiwość pobrania faktury pdf auta - jak na skrinie [1 pkt]

strona search.html

- przycisk generowania bazy aut wg skrinów [1 pkt]
- generowanie i pobranie faktury pdf wszystkich aut z bazy [1 pkt]
- generowanie i pobranie faktury pdf aut z danego rocznika w bazie [1 pkt]
- generowanie i pobranie faktury pdf aut z przedziału cen z bazy [1 pkt]
- dowolna ilość faktur dla każdej kategorii [1 pkt]
 

sposób publikacji:

w lekcji

LEKCJA 07b - JAVA (i/p) - deploy projektu na Heroku

proszę o przysłanie mailem linka do aplikacji na heroku
do dnia 28.05.2022, g.22.00