Projekts - JS bibliotēkas turpinājums

Atjaunots: 2022-10-18

Praktiskais projekts, lai pielietotu pamata OOP zināšanas, izmantotu JS bibliotēkas un integrētu mākslīgā intelekta (MI) rīkus tās radošai papildināšanai un akcepttestēšanai.

Saturs

Uzdevuma apraksts

Šis ir turpinājums uzdevumam, kur bija jāizveido JS Bibliotēku reģistrs.

1. solis: Pamata prasības (Obligātā bāze)

Funkcionalitāti nepieciešams papildināt ar iespēju saglabāt ierakstu failā un noformēt laiku lasīšanai ērtā formā, izmantojot JS bibliotēkas un papildinot esošo klasi. (Šo soli ieteicams veikt primāri pašu spēkiem, lai nostiprinātu izpratni par klasēm un metodēm).

Specifikācija Programma sevī ietver klasi (class) Biblioteka

Īpašības:

  • nosaukums (piemēram, filesaver.js);
  • apraksts (piemēram, saglabāt datus faila formā);
  • srcsaite (piemēram, https://://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.0/FileSaver.min.js);
  • izmerskb (piemēram, 36);
  • pievienots (saglabā laika zīmogu, kad bibliotēka ir pievienota).

Metodes:

  • pilnsSrc(), kas atgriež sagatavotu <script src='...'></script> (string).
  • parakLiela(), kas atgriež ❌, ja bibliotēka ir virs 50 kb, un ✅, ja nav.
  • productInfo(), kas atgriež tekstu ar metodes parakLiela ikonu, nosaukumu, izmēru un aprakstu.
  • printToFile(), kas ļauj saglabāt productInfo() un pilnsSrc() .txt datnē.
  • Saglabāt datnē informāciju, cik sen tika pievienota bibliotēka, izmantojot pievienots īpašību un dayjs bibliotēku.

Padziļināti: Papildināt dayjs bibliotēku, lai izdrukātu informāciju par pagājušo laiku latviešu valodā.

Izdrukas paraugs

2. solis: Radošais paplašinājums (Izstrādātāja brīvība ar MI)

Kad pamata klase un datņu saglabāšana strādā, tavs uzdevums ir iejusties produkta arhitekta lomā. Izvēlies un pievieno sistēmai vismaz 1-2 jaunas, noderīgas funkcionalitātes. Droši izmanto MI asistentus, lai ģenerētu koda risinājumus.

Idejas iedvesmai:

  • JSON vai CSV eksports: Pievienot Biblioteka klasei jaunu metodi (piemēram, exportAsJSON()), kas saglabā datus nevis kā vienkāršu tekstu, bet gan strukturētā .json vai .csv formātā.
  • Paziņojumu bibliotēka (UI uzlabojums): Atrast un integrēt jaunu JS bibliotēku (piemēram, SweetAlert2 vai Toastr), lai aizstātu parastos pārlūka paziņojumus ar skaistiem paziņojumiem par veiksmīgu datnes saglabāšanu.
  • Datu vizualizācija: Integrēt Chart.js bibliotēku, kas vizuāli (grafikā) attēlo visu reģistrēto bibliotēku izmērus (kb) salīdzinājumam.

3. solis: Prasību definēšana un akcepttestēšana

Tā kā papildu funkcionalitātes kodu ģenerē MI, tavs uzdevums ir to vadīt un pārbaudīt. Savā dokumentācijā fiksē:

  1. Prasību specifikācija (Pirms ģenerēšanas): Uzraksti precīzu definīciju katrai jaunajai funkcijai vai klases metodei. Ko tieši tu vēlies panākt? (Šo tekstu izmantosi kā uzvedni MI asistentam).
  2. Lietotāja pieredze: Kādēļ šī jaunā funkcionalitāte ir nepieciešama?
  3. Akcepttestēšana (Pēc koda integrēšanas): Apraksti testēšanas soļus, lai pierādītu, ka MI uzrakstītais kods strādā atbilstoši tavai specifikācijai (piemēram: "Izsaucu metodi exportAsJSON(), pārliecinājos, ka lejupielādētais fails satur pareizu JSON struktūru un ir atverams ar teksta redaktoru").

Darba gaita

  1. sagatavot HTML, JS, CSS datņu struktūru, izmantojot parauga failus;
  2. pievienot pie list element pogu, kura klausīsies objekta klases metodi printToFile();
  3. pievienot klases konstruktoram īpašību pievienots, kas saglabā laika zīmogu new Date();
  4. pievienot klases metodi printToFile();
  5. pievienot filesaver.js HTML dokumentam;
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.0/FileSaver.min.js"></script>
  1. atrast internetā filesaver.js bibliotēkas dokumentāciju;
  2. saglabāt test informāciju ar metodi printToFile() un filesaver.js bibliotēku;
  3. saglabāt productInfo() un pilnsSrc() informāciju ar metodi printToFile();
  4. atrast internetā dayjs bibliotēkas dokumentāciju;
  5. izmantojot dayjs Humanize metodes saglabāt datnē informāciju, cik sen tika pievienota bibliotēka;
  6. Pievienot radošo paplašinājumu (jaunu klases metodi vai jaunu JS bibliotēku) ar MI palīdzību un veikt tā akcepttestēšanu.

Paredzamais izpildes laiks: 160-200 min.

Nepieciešamie resursi

Nepieciešamās zināšanas

Var izmantot WEB Zinašanu krātuvi, kur ir apkopojums par pamata lietām, kas ir jāzina par JavaScript, HTML, CSS un Bootstrap 5.

Var izmantot OOP Zinašanu krātuvi, kur ir apkopojums par objektorientēto programmēšanu (OOP) un bibliotēkām. Tāpat var izmantot norādes, kā pielietot MI rīkus mācību procesā.

Ieteikumi

Programmēšana II SR

Aktivitāte vērsta uz šādām Programmēšana II sasniedzamajiem rezultātiem (SR):

  • Zināšanas: Skaidro objektorientētās programmēšanas darbības pamatprincipus.
  • Prasmes: Izmanto programmēšanas valodu un to bibliotēku dokumentāciju un palīdzības sistēmu, lai patstāvīgi apgūtu citas to piedāvātās iespējas.
  • Prasmes: Piesaista standartbibliotēku funkcionalitāti.
  • Prasmes: Veido programmas kādā no programmēšanas valodām, t. sk. objektorientētajā valodā.
  • Prasmes: Veic atkļūdošanu.
  • Prasmes: Veido programmatūras prasību specifikāciju.
  • Prasmes: Salīdzina programmatūras prasību specifikāciju ar produkta funkcionalitāti (akcepttestēšana).
  • Zināšanu, izpratnes, prasmju un ieradumu kombinācijas: Problēmrisināšana: izstrādā izvēlētajai mērķauditorijai nepieciešamu programmproduktu, veicot izpēti un definējot risināmo problēmu, izvēloties piemērotāko risinājumu, plānojot resursus un veicot akcepttestēšanu.
  • Ieradumi: Izmanto labās prakses principus programmas koda pierakstā un strukturēšanā.
Autors
Mārtiņš Bērziņš avatar
Mārtiņš Bērziņš

Uzraksti atsauksmi uz [email protected] [email protected]