Back-end instrukcije
Spring Boot aplikacija
Spring Initialzr (https://start.spring.io/)
- Online tool za stvaranje Spring Boot aplikacije sa svim potrebnim bibliotekama koje će biti unutar projekta
- Potrebne biblioteke za zadatak:
1. Web – library s klasama za RESTful aplikacije
2. Spring Security – library za upravljanje autorizacijom, pristupima itd...
3. JPA – persistence library (ORM)
4. MySQL/Psql Driver – ako ćete koristiti MySql/Postgres bazu onda treba i taj driver dodati
- Stisnete Generate i dobijete gotov projekt s gotovom arhitekturom koji se samo otvori u
intelliJ-u (link za preuzimanje Community verzije: https://www.jetbrains.com/idea/download/#section=windows) ili nekom drugom IDE-u (Spring Tool Suite)
Struktura za jednostavnije aplikacije (poput ovog zadatka):
Linkovi za učenje
- Baeldung – vrlo koristan izvor, jako dobro sve objašnjeno
https://www.baeldung.com/rest-with-spring-series
1. Spring Boot REST Controllers - https://www.baeldung.com/building-a-restful-web-service-with-spring-and-java-based-configuration
- zanemariti testove...
2. Error handling in Spring Boot - https://www.baeldung.com/exception-handling-for-rest-with-spring (Solution 3)
3. Handlanje @RequestBody - https://www.baeldung.com/spring-request-response-body
4. Java Persistence
- https://www.baeldung.com/persistence-with-spring-series
- https://www.baeldung.com/the-persistence-layer-with-spring-data-jpa
- https://www.baeldung.com/spring-data-java-8
- https://www.baeldung.com/spring-data-annotations
- https://www.baeldung.com/spring-boot-h2-database
- https://www.baeldung.com/jpa-entity-table-names
5. Basic Security - https://www.baeldung.com/spring-security-basic-authentication
6. Validation - https://www.baeldung.com/spring-boot-bean-validation
Udemy račun za učenje
Link: https://www.udemy.com/
E-mail: kico206@gmail.com
Lozinka: password
Tečaj se zove: Learn Spring Boot in 100 steps
To je dovoljno dobar tečaj kako bi se upoznali sa Spring Boot-om i njegovim mogućnostima.
Mi najviše koristimo stvari iz Section 5, Section 6 i Section 7. Ali nije se loše upoznati ni s
nekim osnovama (sekcija 1 i 2).
Dodatne poveznice i alati:
- Postman - aplikacija za kreiranje REST (Http) zahtjeva na poslužitelj koji ćete kreirati: https://www.postman.com/
- DBeaver - aplikacija za upravljanje bazama podataka: https://dbeaver.io/
- Postgres - Postgres baza podataka: https://www.postgresql.org/
Tim
U bilo kojem trenutku možete kontaktirati članove tima za konzultacije, pomoć ili savjet.
Popis članova tima i njihov e-mail možete pronaći ovdje.
Također svi članovi tima će biti dostupni i na Slacku.
ZADATAK
Kreirajte REST servis koji korisniku omogućuje upravljanje svojim (virtualnim) bankovnim računima.
Korisnik može stvoriti novi račun, dodati određenu količinu sredstava na račun, prenijeti sredstva na drugi račun (koji može, a i ne mora biti njegov) te obrisati račun.
Korisnik može imati nekoliko računa.
Podaci o korisniku i računu mogu biti proizvoljni.
Stvoriti konekciju na proizvoljnu bazu podataka te ju koristiti za spremanje podataka.
Na proizvoljan način obaviti autentifikaciju (najlakše In Memory Authentication) korisnika koristeći Spring Security.