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
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 suser
iimage
tablicom. Također potrebne tablice možemo vidjeti unutar dokumenta Dijagrami razreda po imenimaUserDB
teImageDB
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
teDocumentCRUD
. UnutarDocumentService
je sva logika oko dokumenata dok je uDocumentCRUD
sva komunikacija s bazom vezana uz dokumente. Popis funkcija možete vidjeti unutar dokumenta Dijagrami razreda