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
|
|__ 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]
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