19-04-2022 Vidzemes Augstskola Apmācību App Support #2

 

Pašlaik ir izveidota react native app ar Firebase DB backend, authentification, pirmitīvu aritmētikas uzdevumu UI. Nebūtu vēlams lietotni pārveidot par teksta uzdevumu risināšanas rīku, jo citādāk nepaspēsim laikā pabeigt darbu. Ieteicam pārbaudīt hipotēzi, ka ar modeļu/tehnoloģojas palīdzību var noteikt aritmētisko uzdevumu sarežģītību. Pie saarežģītākiem uzdevumiem sagaidāma noturīgāks acu skatiens un dusmīgāka sejas izteiksme.

Kods šobrīd atrodas: https://github.com/tomsbaugis/mathAppProject

Studenti:

 

Code Review

then catch vietā izmantot async + try...catch

image-20220420104000367

Styles iznest kopīgā failā image-20220420104129462

Nedrošs kods, jo ja nenostrādās app būs crash, visiem scopes vajag apkārt try..catch image-20220420104209875

Nedrošs kods + vajag async image-20220420104257296

Aizliegts izmantot globālos mainīgos šādā veidā, ja nepieciešams kaut ko glabāt sessijas ietvaros, manīgos var glabāt user storage image-20220420104409980

Vajadzētu labāku un lasāmāku algoritmu aritmētisko uzdevumu ģenerēšanai - var pameklēt internetā kādus citi izmanto jau esošām spēlēm.

TODO frontend

  1. Video ierakstīšanai fonā izmantot kādu no sekojošiem moduļiem (no video nepieciešams iegūt atsevišķus kadrus vai stūtīt nelielus video fragmentus uz python pusi, kur tos apstrādāt ar ffmpeg būs vieglāk kā JS/TS pusē)

    Ar react native Expo nāksies video ierakstīt uz ekrāna rādot Camera component, bet jūs to varat pamēģināt paslēpt ar opacity:0 vai arī ar relative position nobīdīt nost no ekrāna - https://javascript.plainenglish.io/video-recording-and-playback-app-in-react-native-expo-android-ios-f6390bab65e8 (bez Expo var izdarīt kā nākas, bet to jūs nepaspēsiet tagad). Ja kaut kas nesanāk ar šo metodi rakstiet.

  1. Failu sūtīšanas piemērs frontend pusē ar axios lib, piemērs

TODO backend

  1. Saņemt failus servera pusē ar FastAPI, piemērs zemāk. Nosūtot failus līdzi nosūtīt UUID sessijas identifikatoru
  2. Ar citu funckiju no API iegūt metrikas pēc UUID sesijas identifikātora

 

  1. Implentēt OpenCV metriku - std (standartnovirze) acu pozīcijai pēdējā 1min laikā Servera pusē ar OpenCV noteikt acu zīlīšu kustību un sejas pozu https://towardsdatascience.com/real-time-eye-tracking-using-opencv-and-dlib-b504ca724ac6 https://learnopencv.com/head-pose-estimation-using-opencv-and-dlib/No šiem datiem noteikt cik ļoti lieotājs pievērš uzmanību lietotnei.
  1. Implementēt Emociju kategorijas metriku, var arī valance/arrousal skalaru metriku dabūt - OpenCV face detector un emociju atpazīšanu ar pre-trained FER model, izmantot pre-trained EmoNet model - https://github.com/face-analysis/emonet

Backend serveris implementācijai

  1. Atsūtīt man github repo link backend daļai
  2. Atvērt firewall port ar ufw
  3. Pirms implementēt fronted, pārbaudīt api no caur swagger UI, kurš ir pieejams šādi http://IP:PORT/docs
  4. Uz severa palaist FastAPI python app iekš linux screen background (šeit vairāk info kā palaist) http://share.yellowrobot.xyz/1650435484-va/Linux%20Commands%20Useful.html

Pagaidu servera pieeja, kuru jums izveidoju (var pieslēgties ar SSH, Putty, WinSCP, SFTP) host (static IP): 3.128.215.135 user: ubuntu key (Putty): http://share.yellowrobot.xyz/1650435484-va/va_students.ppk

^ ja neizdodas pieslēgties dodiet ziņu precīzi ar screenshots par to kas strādā kas nē

TODO teksta daļa

Piemērs tehniskās specifikācijas darbam, jūsu gadījumā vajag līdzīgus darbus, jo jūsu darbs ir vairāk nevis pētniecisks, bet prototipa izstrāde. Galvenā pētnieciskā daļa, kurai jābūt iekļautai ir saistīta ar testēšanu.

http://share.yellowrobot.xyz/1650435484-va/Kval_d__PP19026_final.pdf

⚠️ Nākamajās 2 nedēļas uzrakstīt darba struktūru, satura rādītāju, katrā nodaļā vismaz viens paragrāfs un saraksts ar staturu (lai iteratītvi var papildināt darbu, nerakstīt no sākuma līdz beigām!)

Noskaidrot: Kam jābūt iekļautam bakalaura darbā, ja tas ir balstīts uz jauna prototipa izstrādi?