Jura-Hostic-i-Film / Jura-Hostic-i-Film-api

1 stars 0 forks source link

Create Document CRUD #8

Open JuraH32 opened 12 months ago

JuraH32 commented 12 months ago

Potrebno je napraviti mogućnost kreiranja, uređivanja, dohvaćanja i brisanja dokumenata. U ovoj fazi nije potrebno implementirati OCR funkciju već je potrebno napraviti dummy funkciju koja vraća predefinirani tekst te će OCR funkcionalnost biti implementirana u danjim koracima.

Unutar svakog od navedenih direktorija (imena poglavlja), potrebno je stvoriti novi file documents.py. Unutar svakog od tih dokumenata se implementira navedeno. Za svaki od poglavlja, strukturu datoteka možete vidjeti u drugim datotekama u istom direktoriju.

U dokumentu Dijagrami razreda.pdf možete vidjeti kako trebaju izgledati potrebne klase i funkcije ali je potrebno napomenuti da dijagrami nisu nužno potpuni te da sami možete dodati dodatne funkcije ako su potrebne.

Models

Unutar modela, potrebno je stvoriti klase koje predstavljaju spremljene modele u bazi. Potrebne atribute klase možete vidjeti ovdje. Bitne su tablice documents, image te tablice povezivanja dokumenata s user i image tablicom. Također potrebne tablice možemo vidjeti unutar dokumenta Dijagrami razreda po imenima UserDB te ImageDB

Schemas

Unutar ovog je potrebno definirati scheme dokumenata i slika. Potrebne scheme (iako nisu možda sve navedene tako da je potrebno možda nadodati svoje) možete naći unutar dokumenta Dijagrami razreda. Scheme definiraju objekte za komunikaciju između različitih dijelova aplikacije.

Routes

Ovdje je potrebno definirati endpointe za aplikaciju. Potrebno je stvoriti endpointe za: kreiranje (C), dohvaćanje (R), promjenu (U), brisanje (D). Osim toga je potrebno napraviti endpointe za dohvaćanje svih dokumenata te dohvaćanje svih dokumenata nekog tipa. Osim toga je potrebno napraviti da svaki korisnik može dohvatiti samo dokumente koje je on napravio ili su njemu potrebni iz nekog drugog razloga (npr. arhiviranje, potpisivanje...). Osim toga, direktor te admin ima mogućnost dohvaćanja svih dokumenata i svi dokumenata nekog tipa. Autentifikaciju i ograničavanje uloga možete postići pomoću @authenticate dekoratora. Možda će biti potreban još koji endpoint.

Services

Ovdje je potrebno nappraviti 2 klase: DocumentService te DocumentCRUD. Unutar DocumentService je sva logika oko dokumenata dok je u DocumentCRUD sva komunikacija s bazom vezana uz dokumente. Popis funkcija možete vidjeti unutar dokumenta Dijagrami razreda