2023-06-05 Meeting 4

Code review

  1. Salabot iepriekšējo nodevumu folder names arī - šobrīd grūti saprast uz ko saktīties image-20230605171855835

 

  1. Jau pagājušā reizē lūdzu nepushot iekšā Github node_modules, dest, nodzēs un pieliec pie gitignore image-20230605171955681

 

  1. Padod session token iekš header ir laba ideja, bet lūdzu pārtaisi, ka to var padot ar pre-defined JSON interface. Visiem Req/Res pieliec klāt typing lūdzu

    image-20230605172431296

  1. Kur vien iespējams lūdzu pieliec funkcijām apkārt try catch un exception saglabājam log4js image-20230605172634626

  1. Pēc iespējas visur samazināt square bracket array calls image-20230605172830193

 

  1. Nelietot jautājumu zīmju sintaksi - tā vietā tikai named parameters, lai novērstu liekas problēmas, kad vēlāk kods tiks mainīts

image-20230605173649062

  1. Atšifrēt [0] square brackets izmantojot python tuples, ļoti reti kodā izmanto [] selectors bez skaidrojumiem vai skaidri lasāmu saturu, to parasti dara sarakstos piem. iepirkumu sarakstā ir ok piekļūt row[i] image-20230605173910017

 

  1. Nepieciešams izveidot vēlvienu ComponentCityButton, kuru zīmētu pa virsu pilsētai un kurai būtu savs add_listener_click, lai izpildītu:

    1. Implementēt UI elementu (neredzamu pogu vai aplīti), kurš tiek novietots uz katras pilsētas

    2. Uzklikšķinot uz pilsētas izveidot Warrior actor ar pozīciju uz šīs pilsētas, izmantojot UI component un Factory pēc attiecīgās tribe

image-20230605174300290

 


 

FullStack - 4. Cluster, SMTP, JSDoc, EndPoint Hooks, Lodash

 

4.1. Video / Materials - 24.nov 14:30 C405

Video: https://youtu.be/QrQd00QCVqc

Jamboard: https://jamboard.google.com/d/1ayqh4-WFZZZRI5UZbbnfoFmUrG0WsihppBhCqEQZy7E/edit?usp=sharing

 

4.2. Mājasdarbs - Implementēt API pēc specifikācijas

 

Implementēt API / Aizmugursistēmu TODO lieotnei pēc specifikācijas:

  1. Izmantot NodeJS, TypeScript, SwaggerUI, Sqlite datu bāzi, HTTP REST API

  2. API POST messages jābūt kā JSON body ar TS interface

  3. Katrai datu bāzes tabulai jābūt modeļa klasei vai TS interfeisam (var izmantot ORM vai SQL)

  4. Pēc lietotāju autentifikācijas /todos/ pieprasījumiem jāpadod session_token un jāpārbauda vai tas ir derīgs

  5. API jāsatur funkcijas:

    1. POST /user/register -> Jānosūta uz epastu apstiprinājuma URL (epasta pieejas datus var neierakstīt kodā)

    2. GET /user/confirmation/:uuid -> Parāda vai lieotājs veiksmīgi aktivizēts

    3. POST /user/login

    4. POST /todos/add

    5. POST /todos/list

    6. POST /todos/remove

    7. POST /todos/update

 

Iesniegt projektu kā ZIP bez node_modules

 


Design Patterns - 4. Singleton, Iterator

 

4.1. Video / Materiāli

Video: https://youtu.be/waYf6shzKso

Jamboard: https://jamboard.google.com/d/1Z6z2FadCTFIW-QZvdNusmpzMWX1U_faWX2DbxVDIsz4/edit?usp=sharing

 

4.2. Pēc instrukcijām implementēt Iterator un Singleton, panākt, ka programma darbojas bez kļūdām

Template: http://share.yellowrobot.xyz/1664535862-design-patterns-course/session_4_singleton_iterator_template.zip

 

 

4.3. Mājasdarbs - Factory, Iterator, Observer

Izmantojot sagatavi no iepriekšējā uzdevuma:

  1. Implementēt Factory pattern, lai izveidotu jaunus actors http://share.yellowrobot.xyz/upic/05bae2fc6237c06e81d33dbdc4b430bd_1664564960.png

 

  1. Implementēt šajā koda vietā Iterator pattern tā, lai tiktu atgriezts pygame. Surface uzreiz no abu list apvienojuma (buildings un actors)

 

  1. Implementēt EventComponentButton, kurš tiek atgriezts nospiežot pogu ar Observer pattern palīdzību tā vietā, lai atgrieztu pogas pointeri http://share.yellowrobot.xyz/upic/215cbec575ff796ea242e242865733c5_1664565666.png

Shēma, kam jābūt event saturā, šo saturu izmantot, lai veiktu darbības WindowMain klasē: http://share.yellowrobot.xyz/quick/2022-9-30-363D57CF-D6CF-4F0C-9DEF-0D92FE92439B.png

 

  1. Pārvietot cik iespējams spēles loģikas kodu uz ControllerGame no WindowMain. WindowMain jāsatur tikai zīmēšanas un IO/lietotāja interactions code

 

  1. Implementēt pogu ar kuru izpildīt gājienus, katrai ciltij un uz ekrāna attēlot informāciju par to kuram ir gājiens un cik gājieni kopā jau ir izieti