<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%A1%D0%98%2F%D0%9A2_2022</id>
	<title>ПСИ/К2 2022 - Историја измена</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%A1%D0%98%2F%D0%9A2_2022"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D0%A1%D0%98/%D0%9A2_2022&amp;action=history"/>
	<updated>2026-06-04T05:55:35Z</updated>
	<subtitle>Историја измена ове странице на пројекту</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D0%A1%D0%98/%D0%9A2_2022&amp;diff=4694&amp;oldid=prev</id>
		<title>KockaAdmiralac: CodeIgniter rešenje</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D0%A1%D0%98/%D0%9A2_2022&amp;diff=4694&amp;oldid=prev"/>
		<updated>2022-07-25T20:02:37Z</updated>

		<summary type="html">&lt;p&gt;CodeIgniter rešenje&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{tocright}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Drugi kolokvijum 2022. godine&amp;#039;&amp;#039;&amp;#039; održan je 4. maja. Trajao je 120 minuta, nosio je 20 bodova i radio se na računaru. Štampana literatura nije bila dozvoljena, dok je za radne okvire koji su se koristili (&amp;#039;&amp;#039;Django&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Laravel&amp;#039;&amp;#039;, &amp;#039;&amp;#039;CodeIgniter&amp;#039;&amp;#039;) bila dostupna dokumentacija. Tekst kolokvijuma [http://si3psi.etf.rs/materijali/rokovi/2022/K2/13S113PSI_K2_2022.pdf dostupan je sa stranice predmeta,] kao i [http://si3psi.etf.rs/materijali/rokovi/2022/K2/13S113PSI_K2_2022_fajlovi.zip fajlovi za implementaciju i skript baze.]&lt;br /&gt;
&lt;br /&gt;
== Postavka ==&lt;br /&gt;
Data je specifikacija korisničkih zahteva veb sistema za sajam poslova i stručnih praksi za studente tehničkih fakulteta u Srbiji. Korisnici sistema se prijavljuju korišćenjem svojih kredencijala: jedinstvenog korisničkog imena i lozinke. Fizička lica su korisnici koji imaju svoje ime, prezime, datum rođenja, indeks (u obliku: GGGG-BBBB, gde su G oznake godine upisa, a B broja indeksa), i fakultet koji studiraju. Ukoliko su završili fakultet, takva lica treba označiti kao da su diplomirala. Pravna lica, odnosno kompanije, su korisnici sistema koji imaju svoj naziv, adresu, grad, poštanski broj, jedinstveni PIB (poreski identifikacioni broj), i ime i prezime odgovornog lica (direktora kompanije). Kompanija može imati jedan (glavni) ili više (dodatnih) računa (za svaki račun čuvati informacije o broju računa i kojoj banci pripada). Svi podaci su obavezni.&lt;br /&gt;
&lt;br /&gt;
Kompanije raspisuju konkurse. Tip konkursa može biti konkurs za stručnu praksu ili zaposlenje. Svaki konkurs koji kompanija raspiše mora da poseduje naziv, oznaku tipa konkursa, broj otvorenih pozicija po tom konkursu, datume otvaranja i zatvaranja konkursa, broj godina iskustva osobe (samo za zaposlenje), i potrebne kompetencije. Konkurs ne mora imati nikakve tražene kompentencije, ali ih može imati i više. Kompetencije su na primer: PHP, Python, testiranje softvera, arhitekturalni uzorci, itd. Fizička lica se prijavljuju na konkurse, samo u trenutku kada su oni otvoreni. Kada se konkurs završi kompanija treba da odabere određeni broj prijavljenih osoba (fizičkih lica), prema broju otvorenih pozicija, i da ih zaposli ili primi na stručnu praksu.&lt;br /&gt;
&lt;br /&gt;
Za zaposlenje mogu konkurisati samo fizička lica koja su diplomirala. Za stručnu praksu mogu konkurisati i lica koja nisu diplomirala. Nije potrebno čuvati podatke o aktivnim (potvrđenim) praktikantima u bazi podataka. Fizičko lice koje se zaposlilo, dobija svoj jedinstveni ID (identifikator) u toj kompaniji u kojoj počinje da radi i sve zaposlene osobe neophodno je čuvati u bazi podataka.&lt;br /&gt;
&lt;br /&gt;
Zadaci za izradu:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-sublist&amp;quot;&amp;gt;&lt;br /&gt;
# Na nivou relacione baze, date u MySQL skripti &amp;#039;&amp;#039;jobfair22.sql&amp;#039;&amp;#039; ili modela u &amp;#039;&amp;#039;models.py&amp;#039;&amp;#039;, utvrditi da li su podaci u bazi i da li su svi entiteti i odnosi u bazi u skladu sa gore opisanom specifikacijom. Realizovati izmene, kako bi baza podataka odgovarala ovim korisničkim zahtevima. Nije potrebno realizovati trigere i procedure.&lt;br /&gt;
# Realizovati MVC (Model-View-Controller) aplikaciju korišćenjem programskog jezika &amp;#039;&amp;#039;PHP&amp;#039;&amp;#039; ili &amp;#039;&amp;#039;Python&amp;#039;&amp;#039;. Implementaciju je moguće raditi korišćenjem objektno orijentisanog &amp;#039;&amp;#039;PHP&amp;#039;&amp;#039; koda, ili korišćenjem radnih okvira &amp;#039;&amp;#039;CodeIgniter&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Laravel&amp;#039;&amp;#039; ili &amp;#039;&amp;#039;Django MTV&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Model-Template-View&amp;#039;&amp;#039;). Sledeći scenariji treba da budu realizovani:&lt;br /&gt;
## Početna strana se sastoji iz gornjeg i donjeg zaglavlja i menija sa strane (header, footer i meni stranice) i centralnog dela (sadržaja). U meniju prikazati dve opcije: strana za prijavu i strana za pregled kompanija. Realizovati kontroler koji učitava stranu za prijavu kao početnu. Na strani se prikazuje forma sa tekstualnim poljem za unos naziva konkursa (ili samo dela naziva konkursa), kao i 2 polja za potvrdu (checkbox) koja označavaju tip konkursa koji pretražuje (stručna praksa ili zaposlenje). Fizičko lice unosi željene podatke i pritiska dugme TRAŽI, kojim se veb strana osvežava i iz baze dohvataju podaci koji odgovaraju parametrima pretrage. Rezultate (naziv konkursa sa kompetencijama, naziv kompanije, i datum zatvaranja konkursa) prikazati jedan ispod drugog, i pored svakog radio dugme. Lice bira tačno jednu opciju (jedan konkurs), unosi u tekstualno polje ispod rezultata pretrage svoje jedinstveno korisničko ime i pritiska dugme KONKURIŠI, čime se prijava beleži u bazi podataka. Voditi računa da se u rezultatima pretrage prikazuju samo aktuelni konkursi (koji su otvoreni i koji još uvek nisu završeni). Fizičko lice može konkurisati na više konkursa istovremeno i o tome, kao i o statusu zaposlenja ne treba voditi računa (ne implementirati provere oko toga!). Fizičko lice ne može dva puta da se prijavi  na isti konkurs i tada ispisati grešku. Pravno lice ne može da se prijavljuje na konkurs za posao/zaposlenje, tada isto ispisati grešku.&lt;br /&gt;
## Druga strana za pregled konkursa po kompanijama, koja se može izabrati iz menija, sadrži padajuću listu svih pravnih lica (kompanija). Odabirom neke od kompanija iz liste, i pritiskom na dugme IZABERI, prikazati tabelarno sve konkurse, sa sledećim kolonama: korisničko ime osobe koja je konkurisala, datum i vreme kada je konkurisala osoba, naziv konkursa i tip (praksa ili zaposlenje). Rezultate prikazati rastuće po korisničkom imenu osobe i prema nazivu konkursa.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;NAPOMENA&amp;lt;/u&amp;gt; - Kao rešenje zadatka potrebno je priložiti:&lt;br /&gt;
# Novi skript &amp;#039;&amp;#039;jobfair22.sql&amp;#039;&amp;#039; ili &amp;#039;&amp;#039;Python&amp;#039;&amp;#039; skripte sa preuređenom bazom podataka i dovoljno popunjenom za testiranje svih scenarija.&lt;br /&gt;
# Čitav projekat veb aplikacije, sa izvornim kodom.&lt;br /&gt;
&lt;br /&gt;
== Rešenje ==&lt;br /&gt;
* [[Medij:PSI K2 2022 CodeIgniter.zip|&amp;#039;&amp;#039;CodeIgniter&amp;#039;&amp;#039; projekat i SQL skripta]]&lt;br /&gt;
** Za pokretanje potrebno je sledeće:&lt;br /&gt;
**# Pokrenuti SQL skriptu koja će napraviti bazu i popuniti je podacima&lt;br /&gt;
**# U &amp;lt;code&amp;gt;app/Config/Database.php&amp;lt;/code&amp;gt; izmeniti kredencijale za bazu sa &amp;lt;code&amp;gt;is1&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;tubic&amp;lt;/code&amp;gt; na korisnika koji postoji i njegovu lozinku&lt;br /&gt;
**# Imati [https://getcomposer.org/ &amp;#039;&amp;#039;Composer&amp;#039;&amp;#039;] instaliran&lt;br /&gt;
**# Pokrenuti &amp;lt;code&amp;gt;composer install&amp;lt;/code&amp;gt; kako bi se instalirati potrebni paketi za projekat&lt;br /&gt;
**# Pokrenuti &amp;lt;code&amp;gt;php spark serve&amp;lt;/code&amp;gt;&lt;br /&gt;
**# Posetiti http://127.0.0.1:8080&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ПСИ]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>KockaAdmiralac</name></author>
	</entry>
</feed>