Difference between revisions of "Back-end instrukcije"
Em2WikiAdmin (talk | contribs) (Added everything) |
Em2WikiAdmin (talk | contribs) |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 12: | Line 12: | ||
2. '''Spring Security''' – library za upravljanje autorizacijom, pristupima itd... | 2. '''Spring Security''' – library za upravljanje autorizacijom, pristupima itd... | ||
3. '''JPA''' – persistence library (ORM) | 3. '''JPA''' – persistence library (Hibernate ORM) | ||
4. '''MySQL/Psql Driver''' – ako ćete koristiti MySql/Postgres bazu onda treba i taj driver dodati | 4. '''MySQL/Psql Driver''' – ako ćete koristiti MySql/Postgres bazu onda treba i taj driver dodati | ||
5. '''Liquibase/Flyway migration''' (po želji) - migracije za bazu | |||
6. '''Lombok''' - annotation-based getteri, setteri, builderi, itd. za klase | |||
- Stisnete Generate i dobijete gotov projekt s gotovom arhitekturom koji se samo otvori u | - Stisnete Generate i dobijete gotov projekt s gotovom arhitekturom koji se samo otvori u | ||
| Line 20: | Line 24: | ||
'''intelliJ-u''' (link za preuzimanje '''Community''' verzije: https://www.jetbrains.com/idea/download/#section=windows) ili nekom drugom IDE-u (Spring Tool Suite) | '''intelliJ-u''' (link za preuzimanje '''Community''' verzije: https://www.jetbrains.com/idea/download/#section=windows) ili nekom drugom IDE-u (Spring Tool Suite) | ||
=== | === Primjer strukture za jednostavnije aplikacije: === | ||
[[File:Arhitektura Spring Boot aplikacije.png|left|frameless]] | [[File:Arhitektura Spring Boot aplikacije.png|left|frameless]] | ||
| Line 38: | Line 42: | ||
=== 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 Bootom 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). | |||
=== Linkovi za učenje === | === Linkovi za učenje === | ||
- '''Baeldung''' – vrlo koristan izvor, jako dobro sve objašnjeno | - '''Baeldung''' – vrlo koristan izvor, jako dobro sve objašnjeno | ||
| Line 68: | Line 87: | ||
'''6. Validation''' - https://www.baeldung.com/spring-boot-bean-validation | '''6. Validation''' - https://www.baeldung.com/spring-boot-bean-validation | ||
=== Dodatne poveznice i alati: === | === Dodatne poveznice i alati: === | ||
| Line 89: | Line 93: | ||
# '''DBeaver''' - aplikacija za upravljanje bazama podataka: https://dbeaver.io/ | # '''DBeaver''' - aplikacija za upravljanje bazama podataka: https://dbeaver.io/ | ||
# '''Postgres''' - Postgres baza podataka: https://www.postgresql.org/ | # '''Postgres''' - Postgres baza podataka: https://www.postgresql.org/ | ||
# | |||
=== Tim === | === Tim === | ||
| Line 97: | Line 102: | ||
Također svi članovi tima će biti dostupni i na '''Slacku.''' | Također svi članovi tima će biti dostupni i na '''Slacku.''' | ||
=== Što se očekuje od vas? === | |||
Aktivni i samostalni pristup zadacima. Potruditi se sami doći do rješenja problema, ako ne uspijete, u svakom trenutku se možete obratiti ostalim članovima tima. | |||
Ako mislite da nešto može bolje, ne ustručavajte se prokomentirati to s kolegama. | |||
Ukoliko postoje stvari koje nisu jasne, bolje je pitati nego ispravljati kod. | |||
== ZADATAK == | == ZADATAK == | ||
Kreirajte REST servis koji korisniku omogućuje upravljanje svojim (virtualnim) bankovnim računima. | Kreirajte REST servis koji korisniku omogućuje upravljanje svojim (virtualnim) bankovnim računima. | ||
Latest revision as of 13:28, 1 October 2022
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 (Hibernate ORM)
4. MySQL/Psql Driver – ako ćete koristiti MySql/Postgres bazu onda treba i taj driver dodati
5. Liquibase/Flyway migration (po želji) - migracije za bazu
6. Lombok - annotation-based getteri, setteri, builderi, itd. za klase
- 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)
Primjer strukture za jednostavnije aplikacije:
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 Bootom 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).
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
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.
Što se očekuje od vas?
Aktivni i samostalni pristup zadacima. Potruditi se sami doći do rješenja problema, ako ne uspijete, u svakom trenutku se možete obratiti ostalim članovima tima.
Ako mislite da nešto može bolje, ne ustručavajte se prokomentirati to s kolegama.
Ukoliko postoje stvari koje nisu jasne, bolje je pitati nego ispravljati kod.
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.