Repository navigation
Expand file tree
/
Copy pathtask.txt
More file actions
133 lines (106 loc) · 6.96 KB
/
Copy pathtask.txt
File metadata and controls
133 lines (106 loc) · 6.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
API nuoroda: https://jsonplaceholder.typicode.com
1. Sukurti puslapį, kuriame bus atvaizduojami įrašai (index.html). Kiekvienas įrašas turi:
1.1. Pavadinimą.
1.2. Pastraipą su įrašo (post) turiniu.
1.3. Autorių. Tai turi būti nuoroda. Kol kas ji gali niekur nevesti.
2. Po kiekvienu įrašu (post) pridėti posto komentarus. Kiekvienas komentaras turi:
2.1. Komentaro pavadinimą.
2.2. Komentaro turinį - pastraipą.
2.3. Komentarą parašiusio asmens el. pašto adresą.
3. Sukurti naują puslapį user.html, kuriame bus atvaizduojama vartotojo informacija:
3.1. Pilnas vardas.
3.2. Vartotojo vardas / nick'as.
3.3. El. paštas.
3.4. Adresas, kuris turės gatvę, namo numerį, miestą, pašto kodą. Paspaudus ant adreso, pagal koordinates, turėtų atidaryti šios vietos Google Maps.
3.5. Telefono numeris.
3.6. Internetinio puslapio adresas.
3.7. Įmonės, kurioje dirba, pavadinimas.
4. Šiame puslapyje turės būti atvaizduojama:
4.1. Visi vartotojo parašyti įrašai (posts). Post'ų įrašuose nereikia atvaizduoti komentarų. Kiekvienas post'as turi turėti nuorodą.
4.2. Visi vartotojo sukurti foto albumai. Kiekvienas albumas turės:
4.2.1. Albumo pavadinimą, kuris turi būti nuoroda. Kol kas nuoroda gali niekur nevesti.
5. Pagrindiniame (index.html) puslapyje pridėti skiltį, kurioje atvaizduojamas albumų sąrašas. Kiekvienas albumas turės:
5.1. Pavadinimą, o paspaudus ant jo - nukreipiama į albumą (album.html).
5.2. Albumo autoriaus vardą.
5.3. Nuotrauką.
6. Sukurti naują puslapį album.html ir jame atvaizduoti:
6.1. Albumo pavadinimą.
6.2. Album autoriaus vardą. Paspaudus ant vardo - nukreipiama į autoriaus puslapį.
6.3. Skiltis, kurioje atvaizduojamos visos albumo nuotraukos. Panaudoti library (biblioteką), kuri skirta gražiam galerijos atvaizdavimui, pvz.:
6.3.1. https://photoswipe.com/
6.3.2. https://nanogallery2.nanostudio.org/
6.3.3. https://sachinchoolur.github.io/lightgallery.js/
6.3.4. Arba bet kurią kitą.
7. Sukurti naują puslapį post.html ir jame atvaizduoti:
7.1. Įrašo (post) pavadinimą.
7.2. Autoriaus vardą. Paspaudus ant autoriaus vardo, turėtų atidaryti autoriaus puslapį.
7.3. Įrašo turinį.
7.4. Įrašo komentarus. Komentarai turi būti atvaizduojami tokiu pačiu principu kaip ir pagrindiniame puslapyje.
7.5. Nuoroda „Kiti autoriaus įrašai", kurią paspaudus bus nukreipiama į naują puslapį posts.html. Jame bus atvaizduojami visi šio vartotojo įrašai.
8. Sukurti vartotojų puslapį (users.html), kuriame būtų atvaizduotas vartotojų sąrašas.
8.1. Prie vartotojo turėtu būti jo vardas ir parašytų post'ų skaičius.
8.2. Paspaudus ant vartotojo - nukreipiama į jo puslapį.
9. Tokiu pačiu principu, kaip ir vartotojų puslapį, sukurti puslapį albumams (albums.html).
9.1. Prie kiekvieno albumo turi būti:
9.1.1. Parašytas jo pavadinimas.
9.1.2. Parašytas vartotojo, sukūrusio šį albumą, vardas.
9.1.3. Albume esančių nuotraukų skaičius.
9.1.4. Viena nuotrauka
10. Sukurti navigacijos elementą, kuris nukreips į puslapius:
10.1. Home / pagrindinis puslapis.
10.2. Users / vartotojų puslapis.
10.3. Albums / albumų puslapis.
10.4. Posts / pranešimų puslapis.
11. Sukurti paieškos funkcionalumą navigacijos elemente:
11.1. Navigacijos elemente sukurti formą, kuri turi text tipo input elementą (nepamiršti pridėti name atributą).
11.2. Formos submit metu, naudojant action atributą, nukreipti į naują puslapį (search.html).
11.3. Šiame puslapyje atvaizduoti paieškos rezultatą.
11.3.1. Jeigu nėra tinkamų rezultatų, tai parašyti jog rezultatų pagal užklausą nerasta.
11.4. Filtruoti pagal šias kategorijas:
11.4.1. Vartotojus.
11.4.2. Postus.
11.4.2. Albumus.
11.5. Search puslapyje turi būti paieškos forma, kuri veikia neperkraunant puslapio.
12. Sukurti puslapį create-post.html
12.1 Puslapyje sukurti formą. Ji turės:
12.1.1. Input elementą posto pavadinimui įvesti.
12.1.2. Textarea elementą posto turiniui įvesti.
12.1.3. Select elementą, kuriame būtų atvaizduojami visų vartotojų vardai (option elementų value naudoti vartotojų id).
12.2. Formos submit metu:
12.2.1. Iš formos duomenų suformuluoti objektą pagal API reikalavimus.
12.2.2. Su šiais duomenimis išsiųsti POST užklausą pagal API reikalavimus.
12.2.3. Iš užklausos atsakymo gautų duomenų suformoluoti HTML elementą ir juos išvesti į ekraną.
13.1. Prie kiekvieno post'o pridėti nuorodą.
13.1.1. Nuorodos tekstas: „Redaguoti" arba bet koks kitas jūsų pasirinktas.
13.1.2. Nuoroda turi nuvestį į edit-post.html puslapį.
13.1.3. Nuoroda turi perduoti redaguojamo post'o ID.
13.2. Sukurti puslapį edit-post.html
13.2.1. Iš nuorodos išimti post'o ID.
13.2.2. Iš API gauti visą post'o informaciją pagal post'o ID.
13.3. Puslapyje sukurti formą. Ji turės:
13.3.1. Input elementą posto pavadinimui įvesti.
13.3.2. Textarea elementą posto turiniui įvesti.
13.3.3. Select elementą, kuriame būtų atvaizduojami visų vartotojų vardai (option elementų value naudoti vartotojų id).
13.3.4. Iš API gautais duomenimis (13.2.2. užduotis) užpildyti formą.
13.4. Formos submit metu:
13.4.1. Iš formos duomenų suformuluoti objektą pagal API reikalavimus.
13.4.2. Su šiais duomenimis išsiųsti PUT užklausą pagal API reikalavimus.
13.4.3. Iš užklausos atsakymo gautų duomenų suformoluoti HTML elementą ir juos išvesti į ekraną.
KOMENTARAI:
14.1.1. Po posto komentarais, sukurti formą, kurioje būtų galima sukurti naują komentarą.
14.1.2. Sukurtą komentarą nusiųsti į API (POST metodas).
14.1.3. Iš API gautą rezultatą pridėti prie ankstesnių komentarų.
PAGINATION:
15.1. Puslapiuose, kuriuose atvaizuojami post'ai, atvaizduoti pirmus 25 post'us. Tai bus pirmas post'ų puslapis.
15.2.1. Post'ų sąrašo apačioje pridėti nuorodas, kurios leidžia perjungti kitą post'ų puslapį. Pvz. antras puslapis rodys post'us nuo 26 iki 50, trečias puslapis rodys nuo 51 iki 75 ir t.t.
15.2.2. Puslapių nuorodų turi būti tiek, kad būtų galimybė atvaizduoti visus post'us.
15.2.3. Galima paspausti ant visų nuorodų, išskyrus tą, kurios puslapyje šiuo metu esama.
15.3.1. Sukurti nuorodas pirmam ir paskutiniam puslapiui.
15.3.2. Jeigu šiuo metu esama pirmame puslapyje, tai jo nuorodos paspausti negalima.
15.3.3. Jeigu šiuo metu esama paskutiniame puslapyje, tai jo nuorodos paspausti negalima.
15.4.1. Sukurti nuorodas kitam ir praejusiam puslapiams (previous ir next).
15.4.2. Jeigu esama trečiame puslapyje, tai previous puslapis turi būti antras, o next puslapis turi būti ketvirtas.
15.4.3. Jeigu šiuo metu esama pirmame puslapyje, tai previous nuorodos paspausti negalima.
15.4.4. Jeigu šiuo metu esama paskutiniame puslapyje, tai next nuorodos paspausti negalima.
15. Panaudoti pagination kituose puslapiuose, kuriuose yra sąrašas duomenų.
16. Sukurti select elementą, kuriame būtų galimybė pasirinkti po kiek postų (arba kitų duomenų) yra atvaizduojama viename puslapyje.