jostv99 / projektna-naloga-OPB

Projekt pri Osnavah podatkovnih baz.
MIT License
0 stars 0 forks source link

Oddaja projektne naloge #1

Closed jostv99 closed 3 weeks ago

jostv99 commented 1 month ago

Potreben pregled pred ustnim zagovorom @gasperxy

gasperxy commented 1 month ago

Projektni nalogi manjka nekaj stvari:

  1. ni naložene requirenments.txt datoteke z zahtevanimi knjižnjicami, ki jih projekt potrebuje, da ga zaženem lokalno
  2. ko sem knjižnjice nekako uredil, mi še vedno manjka auth datoteka. V auth datoteki bi morl biti dodan dostop z javnim uporabnikom( javnost - javnogeslo)
  3. Povezava na Binder ni uporabljena

Ko boš uredil zgornje komentiraj kar ta issue in bom pogledal še 1x.

jostv99 commented 4 weeks ago

Dodal sem requirements.txt, predvidevam, da ni potrebno vključiti pakete kot so re in os. Če jih je, bom to popravil in jih dodal. Javni dostop na bazo je sedaj urejen, dodeljene so tudi pravice za upravljanje z njo. Binder mi izpiše: "500: internal server error". Nevem, ali je to napaka iz moje strani ali je težava na njihovi strani.

gasperxy commented 4 weeks ago

internal server error imaš zato, ker v prodajalna.py še vedno uporabljaš (tudi) import auth as auths. Ker datoteke auth nimaš na githubu se zgodi import error, kar pa potem vidiš kot internal server error. Predlagam, da namest auth_public pač uporabiš kar auth datoteko, samo da spremeniš podatke ko commitaš na git. Ali pa pač dodaš auth datoteko z dummy podatki.

jostv99 commented 4 weeks ago

Zdaj prodajalna.py importa samo auth_public z vsemi potrebnimi podatki. Binder še vedno ne deluje. Še enkrat sem pregledal requirements.txt in se mi zdi, da nič ne manjka. Nevem, kje bi lahko še bila težava.

gasperxy commented 4 weeks ago

Problem je še v tem, da postgres na fakultetnem strežniku iz Binderja ne sprejema povezave preko porta 5432 (zato je v binder nastavitvah nastavljen postgres_port na 443). To si sicer v prodajalna.py že naredil, ampak cursorja in povezave v tej datoteki ne uporabljaš. Problem imaš v repozitoriju, kjer še vedno uporbljaš "hardkodiran" port 5432.

Da boš na Binderju lahko napake lažje našel, lahko v binder urlju (ko se vse skupaj postavi in dobiš error) izbrišeš /proxy/8080 iz urlja. Odpreti bi se ti morala stran z tvojimi datotekami v jupytru. Potem lahko tam odpreš terminal in poženeš ukaz pyhton prodajalna.py. Tam potem lahko vidiš vse errorje, ki se zgodijo. Recimo:

image
gasperxy commented 4 weeks ago

Sem pa tvoj projekt pogledal lokalno. Načeloma mi je všeč ideja in tudi kako deluje aplikacija. Sicer bi bilo potrebnih nekaj "lepotnih popravkov", ampak to ni bistvo tega predmeta. Dodal si opcijo nalaganja slik in shranjevanja v bazo (kar nismo predelali na vajah). Imam pa en komentar glede sporočil. To kakor si si zamislil ni dobro. Da vsa sporočila shranjuješ v en stolpec zraven uporabnika in da potem nekaj splitaš po , definitivno ni dobro. Prav tako ni najbolj v skladu z relacijskimi bazami. Pravilno bi bilo imeti novo tabelo recimo UserMessages s stolpci message_id from_user, to_user, timestamp, message_content, is_read. Tako je potem branje, zapisovanje in pridobivanje sporočil precej lažje, hitreje in bolj enostavno. Kako bi ti zadeva delovala, če bi nek uporabnik imel 10000 sporočil? Glede na to, da je aplikacija že brez sporočil dovolj uporabna bi rekel, da tega v tem trenutku ni potrebno spreminjat. Uredi samo še Binder in bo projekt ok.

jostv99 commented 4 weeks ago

V repository.py sem spremenil port na 443. Zdaj izpisuje napako: OSError: [Errno 98] Address already in use.

gasperxy commented 3 weeks ago

Se opravičujem za malo pozen odgovor. Prejšnji error je bil verjetno zato, ker ti je binder že uspešno zagnal aplikacijo ti pa si jo probal še enkrat ročno in je bil port že zaseden Ko sedaj odprem v binderju dobim tole: image

Pomoej je problem v tem, da imaš v bottleext v template_path.append() metodi Presentation napisano z veliko, medtem ko imaš dejansko folder z malo začetnico. Popravi bodisi eno bodisi drugo in probaj še 1x.

Drugače pa projekt potrjujem. @jaanos

jostv99 commented 3 weeks ago

Hvala za vso pomoč, binder zdaj deluje.