Špičkový online obchod s potravinami. Ponúkame širokú škálu potravín od mliečnych výrobkov, rôznych nápojov až po rôzne sladké alebo slané doťuky. Patríme medzi top predajcov potravín vďaka tomu, že sme dostupní 24/7 a máme len tie najlepšie produkty. Zoznam hlavných kategórií produktov nájdete na konci stránky. Poďme sa teda pozrieť na zloženie projektu a ako dokážeme aplikáciu spustiť.
Projekt sa skladá z dvoch modulov a to FE a BE.
Tieto moduly sa spúšťajú samostatne, nižšie je uvedený postup.
- pomocou node.js
- pridať novú konfiguráciu - vybrať npm - zmeniť "command" na start
- spustenie FE aplikácie na localhost:3000
- v pom.xml kliknúť pravým tlačidlom a zvoliť "build as maven project"
- spustiť databázu - návod je uvedený nižšie
- spustenie BE aplikácie na localhost:8088
- na vytvorenie a naplnenie DB je vytvorený docker-compose.yml
- sú 2 možnosti spustenia:
- spustiť pomocou tlačidla v súbore docker-compose.yml v asos-be module
- v termináli sa prepnúť do asos-be priečinka a spustiť príkaz docker compose up --build
- v Idei je možné sa pripojiť na DB a vidieť jej obsah
- v záložke Database vybrať PostgreSQL a pripojiť sa pomocou credentials uvedených v docker-compose.yml alebo application.properties
- hlavná classa- App.js (definované cesty)
- ostatné classy pridávať do package src
- inštalácia knižníc pomocou package.json
- package-lock.json NEMENIŤ !
- knižnice s komponentami - MaterialUI, BOOTSTRAP
- aplikácia nepoužía klasické premmenné - využíva HOOKy
- namiesto premenných najčastejšie využíva UseState hook --> [premenná, jejSetovaciaFunkcia] = useState<>()
- atribúty sa prenášajú cez komponenty pomocou Props, vždy z rodičovského komponentu na detský
- hlavná classa - AsosBeApplication.java
- rest controller s endpointami v rest package
- service interface, implementácia v service package
- komunikácia s databázou v repository package
- entitné triedy v model package
- DTO triedy v dto package
- sql scripty na naplnenie databázy v resources/init-sql package
- docker-compose.yml na vytvorenie kontajnera s databázou v adresári pre BE modul
- Použitie MVC architekúry
- na autentifikáciu používame JSON Web Token
- JWT sa skladá z 3 častí - Header, Payload a Signature
- použitie v našej aplikácii
- po prihlásení používateľa sa generuje JWT, do ktorého vkladáme userId
- JWT sa posiela v každom HTTP request Headeri aby sa nemusela opakovane pozerať DB
- JWT je validovaný použitím nášho SECRET kľúča
- JWT sú nastavené tak aby po 30 min expirovali
- Node.js https://nodejs.org/en verzia 18.18.2
- JAVA Amazon Corretto 17.0.9
- Docker desktop https://www.docker.com/products/docker-desktop/
- Yogurt
- Milk
- Drink
- Coffee
- Pasta
- Noodles
- Rice
- Oats
- Jam
- Donuts
- Snacks
- Bubblegum
- Crisps