[](/online-library-management-system/translations/README.en.html) [](/online-library-management-system/translations/README.ita.html)
Online biblioteka predstavlja projekat ICT Cortex akademije namijenjen učenicima srednjih škola kako bi se što bolje i efikasnije spremili za sve buduće izazove koje ih čekaju. Više informacija ispod…
Naša platforma se može pohvaliti širokim spektrom najsavremenijih funkcija, a sve su dizajnirane da revolucionišu proces upravljanja bibliotekom i podignu korisničko iskustvo na sledeći nivo.
Uz naš sistem, uživaćete u fleksibilnosti dodjeljivanja uloga i dozvola, obezbjeđujući optimalnu bezbjednost i kontrolu pristupa. Naša funkcija pretraživanja punog teksta omogućava brzo i lako otkrivanje sadržaja, dok naša API integracija pojednostavljuje upravljanje podacima.
Pored toga, naš sistem nudi neuporedive mogućnosti obrade slika, uključujući isjecanje, kompresovanje i kropovanje, što olakšava upravljanje slikama. Za lak pristup i pogodnost korisnika, nudimo besprekornu integraciju GitHub prijave i registracije, a uvoz podataka je brz zahvaljujući našoj funkciji uvoza CSV-a.
Ostanite povezani i držite svoje korisnike u toku pomoću naše funkcije biltena i osigurajte optimalnu sigurnost uz našu najsavremeniju reCAPTCHA integraciju. Sa našim inovativnim višejezičnim sistemom upravljanja školskim bibliotekama, mogućnosti su beskrajne!
S obzirom da su korišćeni paketi za dinamično manipulisanje priloženih fotografija moguće je da se pojavi greška ukoliko Vam fajl “php.ini” nije ispravno konfigurisan. Ovaj fajl po default-u onemogućava određene ekstenzije, a time i pakete (dependencies) koje smo koristili u projektu. Sve što je potrebno jeste:
-> Da otvorite Vaš “php.ini” fajl kao tekstualni dokument (koristeći Notepad ili neki drugi slični softver)
-> Pronađite liniju ;extension=gd
i izmijenite je u extension=gd
-> Restartujte Vaš apache server
Ukoliko ne znate da pronađete “php.ini” fajl.. najčešći path je
C:\php
. Možete ukucati i komandu:php --ini
u command promt-u kako biste dobili još informacija
-> “Unsupported cipher or incorrect key length. Supported ciphers are…”
U pitanju je loše izgenerisani APP_KEY tj. enkripcioni ključ aplikacije. Otvorite “.env” fajl koji se nalazi u root-u projekta. Izbrišite upisanu vrijednost i pokrenite komandu:
php artisan key:generate
-> “SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it”
Moguće je da niste startovali Vaš lokalni server. U zavisnosti koji softver koristite kao serverski paket pokrenite ga kao i Apache server i pokušajte ponovo. Poznati softveri: WAMP, XAMPP, ampps i tako dalje.
-> “Could not find driver (SQL: SHOW FULL TABLES WHERE table_type = ‘BASE TABLE’)..”
Poruka o grešci “Nije moguće pronaći drajver“ obično ukazuje na to da PHP ekstenzija za drajver baze podataka koju koristite nije instalirana ili omogućena na Vašem sistemu.
Otvorite datoteku “php.ini” u uređivaču teksta i potražite red koji počinje sa ekstenzijom=. Dekomentarišite red tako što ćete ukloniti tačku i zarez (;) na početku reda i zamijenite
extension=mysql
git clone https://github.com/ca-tim4-22/library.git
Uđite u root folder ukoliko već niste u njemu
composer install | composer update
cp .env.example .env
SCOUT_DRIVER | SCOUT_QUEUE | ALGOLIA_APP_ID | ALGOLIA_SECRET
GITHUB_CLIENT_ID | GITHUB_CLIENT_SECRET | GITHUB_REDIRECT_URL
MAILCHIMP_APIKEY | MAILCHIMP_LIST_ID
Koristimo newsletter mail servis: Mailchimp
/adminer
Koristimo temu: Hydra Dark
php artisan key:generate
php artisan migrate
php artisan migrate:fresh
php artisan serve
Nakon izvršenja svih gore navedenih komandi, trebalo bi da možete pokrenuti aplikaciju i vidjeti je na http::/localhost Vašeg domena u zavisnosti od konfiguracije.
Napomena 1.1: Ukoliko želite da pišete/izvršavate već postojeće testove budite sigurni da ste izmijenili env varijablu: APP_ENV=local -> APP_ENV=testing
Napomena 1.2: Ukoliko želite da napravite backup Vaše baze podataka, to možete uraditi pomoću integrisanog paketa komandom:
php artisan backup:run
Cijeli progres se prati na sledećim platformama za project management:
- Trello
- monday.com
- Asana
Svi board-ovi su sinhronizovani.
za link-ove kontaktirati administratora
administrator
, bibliotekar
i učenik
Funckionalnost | Administrator/ka | Bibliotekar/ka | Učenik/ca |
---|---|---|---|
Gašenje aplikacije | ✔️ | ❌ | ❌ |
Aktivacija aplikacije | ✔️ | ❌ | ❌ |
Upravljanje bazom - CSV | ✔️ | ❌ | ❌ |
Izmjena meta informacija | ✔️ | ❌ | ❌ |
Izmjena globalnih varijabli | ✔️ | ❌ | ❌ |
CRUD nad administratorima | ✔️ | ❌ | ❌ |
CRUD nad bibliotekarima | ✔️ | ✔️ | ❌ |
CRUD nad učenicima | ✔️ | ✔️ | ❌ |
CRUD nad knjigama | ✔️ | ✔️ | ❌ |
CRUD nad autorima | ✔️ | ✔️ | ❌ |
CRUD nad podešavanjima | ✔️ | ✔️ | ❌ |
Izmjena svog profila | ✔️ | ✔️ | ✔️ |
Prikaz dostupnih knjiga | ✔️ | ✔️ | ✔️ |
Izdate knjige | ✔️ | ✔️ | ❌ |
Vraćene knjige | ✔️ | ✔️ | ❌ |
Knjige u prekoračenju | ✔️ | ✔️ | ❌ |
Aktivne rezervacije knjiga | ✔️ | ✔️ | ✔️ |
Arhivirane rezervacije knjiga | ✔️ | ✔️ | ✔️ |
Rezervacija knjige | ✔️ | ✔️ | ✔️ |
Ukoliko rezervaciju izvrši bibliotekar/ka, ona odmah dobija status “Prihvaćena”, a ukoliko je izvrši učenik/ca dobija status “Na čekanju” sve dok je bibliotekar/ka ne prihvati
Radnja - operacija vraćanja knjige je dostupna samo ukoliko je knjiga izdata
Radnja - operacija otpisivanja knjige je dostupna samo ukoliko je knjiga u prekoračenju
Rezervacije imaju 5 statusa:
- Prihvaćena
- Odbijena
- Na čekanju
- Arhivirana
- Istekla
Postoje 3 “zadatka”:
- Prvi zadatak koji se izvršava na dnevnom nivou i koji aktivne istekle rezervacije automatski arhivira
- Drugi zadatak koji se izvršava na mjesečnom nivou i koji automatski briše korisnike koji se nisu ulogovali duže od 365 dana
- Treći zadatak se izvršava dvaput dnevno i automatski mijenja status biblioteke u radnom smislu. Kada je biblioteka zatvorena status je ‘0’, a kada je otvorena ‘1’. Sa definisanim radnim vremenom, početak i kraj u satima, ovaj zadatak se izvršava u tim terminima i mijenja status
Administrator može “poslati” aplikaciju u tzv. “shutdown” mode. Laravel u sebi ima ugrađenu komandu “php artisan down” koja “gasi” aplikaciju. Na našoj aplikaciji to radimo pomoću web rute “/shutdown” koja je zaštićena.
Koraci:
- Kada želite ugasiti aplikaciju -> Otići na URL “/shutdown” ! napomena: morate biti ulogovani i biti “administrator”
- Kada želite upaliti aplikaciju -> Otići na URL “/live.php” nakon čega će vam se pojaviti “redirect” stranica
Full text search | Algolia | Laravel Scout |
Ovaj API sadrži:
77 zahtjeva, od čega:
Svaki zahtjev mora imati prefiks “v1” -> version 1.0.
error-0001 -> Nije pronađeno, 404
error-0002 -> Neispravan zahtjev, 400
error-0003 -> Greška u validaciji, 422
error-0004 -> Pogrešan role, 406
error-0005 -> Knjiga nema autora, kategoriju ili žanr, 406
Pošaljite problem (zahtijeva GitHub nalog)
tim nullable()