-
- član: Ensar Krehmić
- 📧 Kontakt: ime.prezime.22@size.ba
- 👨💻 Asistent: Narcisa Hadžajlić
- 📧 Kontakt: narcisa.hadzajlic@dl.unze.ba
- 🔗 Link za Google Classroom:
Treba razviti cijelu web aplikaciju prema zadanim instrukcijama koristeći razvojni okvir Spring Boot za razvoj Java web aplikacija.
- Implementirti najmanje 3 kontrolera koji obrađuju različite vrste zahtjeva.
- Prikazati primjenu metoda GET i POST kroz kontrolere za pronalaženje podataka i punjenje obrazaca.
- Primijeniti Thymeleaf za uređivanje aplikacije.
- Integrirati bazu podataka sa MySQL ili PostgreSQL (slobodan izbor).
- Baza podataka treba imati barem 3 entiteta koje JPA-em se preslikaju u Model-e unutar koda.
- Implementirati osnovne CRUD operacije (create, read, update, delete) za upravljanje podacima u bazi.
- Implementirati barem jedan obrazac (formu) za unos korisnika (npr. registracija korisnika) i/ili unošenje drugih podataka.
- Dodati provjeru valjanosti i validnosti unošenih polja obrasca (npr. @NotNull, @Size) kako bi se spriječile greške.
- Implementirati funkcionalnost prijavljivanja/odjavljivanja korisnika koristeći Spring Security.
- Definirati uloge (admin/korisnik) i ograničiti pristup određenim dijelovima aplikacije na osnovu uloge korisnika.
- Ispravnost: Aplikacija radi kako se očekuje i ispunjava funkcionalne zahtjeve (30%).
- Kvalitet koda: čist, dobro dokumentovan i pravilno strukturiran kod (20%).
- Korisnički interfejs: Intuitivan dizajn prilagođen korisniku (10%).
- Integracija baze podataka: Pravilna upotreba JPA/Hibernate i interakcije baze podataka (30%).
- Sigurnost: Pravilna implementacija autentifikacije i autorizacije korisnika (10%).
- Moguće koristiti Maven ili Gradle project manager.
- Potrebno je pridržavati se MVC (Model-View-Controller) arhitekture projekta.
- Po želji koristiti i neki razvojni okvir za frontend.
Ovo je online forum aplikacija razvijena koristeći Spring Boot. Aplikacija omogućava korisnicima da se registruju, prijave, pregledaju postove i komentarišu, dok administratori imaju dodatne mogućnosti za upravljanje postovima i korisnicima.
- Registracija i prijava na platformu.
- Pregled svih postova na forumu.
- Kreiranje i komentarisanje postova.
- Pretraga svojih postova prema ključnim riječima.
- Upravljanje postovima (dodavanje, uređivanje i brisanje postova).
- Upravljanje korisnicima (pregled i dodjela uloga).
- Upravljanje komentarima (pregled, brisanje, dodavanje)
- Pretraga svih postova prema ključnim riječima
- Pregled svih postova
- Pretraga svih postova prema ključnim riječima
- Java 17 ili novija verzija.
- Maven.
- MySQL Server (ili drugi DBMS sa odgovarajućom konfiguracijom).
- IntelliJ IDEA (ili bilo koji drugi preferirani IDE).
Preuzmite ZIP datoteku projekta koju ste dobili putem GitHub-a ili iz druge platforme.
Ekstraktujte preuzeti ZIP u željeni direktorij na svom računaru.
Kreirajte novu bazu podataka u MySQL-u. Na primjer: CREATE DATABASE databaseof;
spring.datasource.url= jdbc:mysql://localhost:3030/databaseof (paziti na port)
spring.datasource.username=root (vaš username)
spring.datasource.password=root (vaša lozinka)
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Ponovo otvorite projekat u IntelliJ IDEA ili nekom drugom IDE-u.
Pokrenite aplikaciju putem glavne klase (@onlineForum).
Aplikacija će biti dostupna na [http://localhost:8080].