<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arhiva Zod - Hetrih.com</title>
	<atom:link href="https://hetrih.com/portfolio_tags/zod/feed/" rel="self" type="application/rss+xml" />
	<link>https://hetrih.com/portfolio_tags/zod/</link>
	<description>Razvij, testiraj, lansiraj</description>
	<lastBuildDate>Tue, 15 Jul 2025 10:34:41 +0000</lastBuildDate>
	<language>hr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://hetrih.com/wp-content/uploads/2023/01/cropped-Logo-za-ikonicu-weba-512x512-1-32x32.png</url>
	<title>Arhiva Zod - Hetrih.com</title>
	<link>https://hetrih.com/portfolio_tags/zod/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Web aplikacija &#8211; Empori &#8211; Full-stack</title>
		<link>https://hetrih.com/portfolio-items/empori-web-app-full-stack/</link>
		
		<dc:creator><![CDATA[josip]]></dc:creator>
		<pubDate>Fri, 28 Jun 2024 05:26:21 +0000</pubDate>
				<guid isPermaLink="false">https://hetrih.com/?post_type=avada_portfolio&#038;p=14875</guid>

					<description><![CDATA[<p>Empori Full-stack aplikacija za upravljanje terminima i rezervacijama je cloud rješenje koje omogućava poduzetnicima intuitivno kreiranje i upravljanje terminima, prilagodbu dizajna, automatske email podsjetnike i neovisno upravljanje podacima putem multitenant arhitekture. Razvijena s NextJs-om i Django frameworkom, aplikacija koristi Redux, Typescript, Zod, React Hook Form, Sentry i mnoge druge tehnologije za optimalno korisničko iskustvo i sigurnost.</p>
<p>Objava <a href="https://hetrih.com/portfolio-items/empori-web-app-full-stack/">Web aplikacija &#8211; Empori &#8211; Full-stack</a> pojavila se prvi puta na <a href="https://hetrih.com">Hetrih.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><div class="fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;--awb-flex-wrap-medium:wrap;--awb-flex-wrap-small:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-center" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="width:104% !important;max-width:104% !important;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-0 fusion_builder_column_inner_1_1 1_1 fusion-flex-column fusion-flex-align-self-center" style="--awb-padding-left:10px;--awb-padding-bottom-medium:10px;--awb-padding-top-small:10px;--awb-padding-bottom-small:20px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:0.96%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:0.96%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:0.96%;" data-scroll-devices="small-visibility,medium-visibility,large-visibility"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-row"><i class="fb-icon-element-1 fb-icon-element fontawesome-icon icon-tech-stackdjango circle-no fusion-text-flow" style="--awb-iconcolor:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) + 10%),var(--awb-color4-a));--awb-iconcolor-hover:var(--awb-color3);--awb-font-size:32px;--awb-margin-right:60px;"></i><i class="fb-icon-element-2 fb-icon-element fontawesome-icon icon-tech-stackpython circle-no fusion-text-flow" style="--awb-iconcolor:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) + 10%),var(--awb-color4-a));--awb-iconcolor-hover:var(--awb-color3);--awb-font-size:32px;--awb-margin-right:60px;"></i><i class="fb-icon-element-3 fb-icon-element fontawesome-icon icon-tech-stacknext-dot-js circle-no fusion-text-flow" style="--awb-iconcolor:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) + 10%),var(--awb-color4-a));--awb-iconcolor-hover:var(--awb-color3);--awb-font-size:32px;--awb-margin-right:60px;"></i><i class="fb-icon-element-4 fb-icon-element fontawesome-icon icon-tech-stackreact circle-no fusion-text-flow" style="--awb-iconcolor:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) + 10%),var(--awb-color4-a));--awb-iconcolor-hover:var(--awb-color3);--awb-font-size:32px;--awb-margin-right:60px;"></i><i class="fb-icon-element-5 fb-icon-element fontawesome-icon icon-tech-stackredux circle-no fusion-text-flow" style="--awb-iconcolor:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) + 10%),var(--awb-color4-a));--awb-iconcolor-hover:var(--awb-color3);--awb-font-size:32px;--awb-margin-right:60px;"></i><i class="fb-icon-element-6 fb-icon-element fontawesome-icon icon-tech-stacktypescript circle-no fusion-text-flow" style="--awb-iconcolor:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) + 10%),var(--awb-color4-a));--awb-iconcolor-hover:var(--awb-color3);--awb-font-size:32px;--awb-margin-right:60px;"></i><i class="fb-icon-element-7 fb-icon-element fontawesome-icon icon-tech-stacktailwindcss circle-no fusion-text-flow" style="--awb-iconcolor:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) + 10%),var(--awb-color4-a));--awb-iconcolor-hover:var(--awb-color3);--awb-font-size:32px;--awb-margin-right:60px;"></i><i class="fb-icon-element-8 fb-icon-element fontawesome-icon icon-tech-stackamazonaws circle-no fusion-text-flow" style="--awb-iconcolor:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) + 10%),var(--awb-color4-a));--awb-iconcolor-hover:var(--awb-color3);--awb-font-size:32px;--awb-margin-right:60px;"></i><i class="fb-icon-element-9 fb-icon-element fontawesome-icon icon-tech-stackpostgresql circle-no fusion-text-flow" style="--awb-iconcolor:hsla(var(--awb-color4-h),var(--awb-color4-s),calc(var(--awb-color4-l) + 10%),var(--awb-color4-a));--awb-iconcolor-hover:var(--awb-color3);--awb-font-size:32px;--awb-margin-right:60px;"></i></div></div></div><div class="fusion-text fusion-text-1"><p>Empori Full-stack web aplikacija za upravljanje terminima i rezervacijama je cloud rješenje za organizaciju vremena i poslovnih aktivnosti poduzetnika. Dizajnirana kao multitenant aplikacija, omogućava različitim korisnicima (tenantima) neovisno upravljanje vlastitim podacima i postavkama unutar jedne platforme. S obzirom da je aplikacija multitenant, korisnici mogu dijeliti termine, postavke i ostale funkcionalnosti s više korisnika unutar iste organizacije.</p>
<p>Fokus aplikacije je na jednostavnost sučelja i dostupnost na svim uređajima, čime se korisnicima omogućava kvalitetno upravljanje rezervacijama s brzinom kao da pišu na papirić, ali uz podršku kvalitetne tehnologije koja osigurava bolju komunikaciju s klijentima i praćenje poslovanja. Više detalja o samoj aplikaciji možete pronaći i na porfoliu za <span style="color: #0cc3ff;"><a href="https://hetrih.com/portfolio-items/saas-landing-page-empori/" target="_blank" rel="noopener noreferrer">landing page</a></span> ili na <span style="color: #0cc3ff;"><a href="https://empori.app/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(12, 195, 255);">stranici </span><span style="color: rgb(12, 195, 255);">Empori SaaS-a</span></a></span>.</p>
<p>Backend je baziran na Django frameworku, dok je frontend dio aplikacije razvijan u NextJs-u s Typescript-om. U nastavku sam dao detaljniji opis tehnologija i biblioteka koje koristim.</p>
<h2>Ključne f<span style="color: var(--awb-color1);">unkci</span>onalnosti</h2>
<p><b style="color: var(--awb-color5);">Kalendar Rezervacija:</b> Intuitivni kalendar koji omogućava kreiranje i upravljanje terminima s pregledom dnevnog, tjednog i mjesečnog rasporeda.</p>
<p><b><span style="color: var(--awb-color5);">Predlošci Termina:</span> </b>Brzo kreiranje termina pomoću unaprijed definiranih predložaka.</p>
<p><b style="color: var(--awb-color5);">Cloud Rješenje: </b>Aplikacija je dostupna bez potrebe za instalacijom, što osigurava pristup bilo gdje i sa različitih uređaja koji imaju pristup internetu.</p>
<p><b style="color: var(--awb-color5);">Prilagodba Postavki: </b>Postavljanje trajanja događaja, radnog vremena i radnih dana prema specifičnim potrebama korisnika.</p>
<p><b style="color: var(--awb-color5);">Prilagodba Dizajna:</b> Omogućava prilagodbu dizajna potrebama korisnika. Korisnici mogu izabrati između 3 dizajna, odnosno svijetlog, tamnog i &#8220;modernog&#8221; načina rada.</p>
<p><b style="color: var(--awb-color5);">Email Podsjetnici:</b> Automatski podsjetnici putem emaila smanjuju broj propuštenih termina i povećavaju zadovoljstvo klijenata.</p>
<h2 style="color: var(--awb-color5);"><span style="color: #ffffff;">Frontend</span></h2>
<p>Za frontend dio Empori full-stack web aplikacija koristi sljedeće tehnologije i alate kako bi osigurao optimalno korisničko iskustvo i funkcionalnost:</p>
<p><b style="color: var(--awb-color5);">Redux &#8211; Redux Toolkit:</b> Ove biblioteke koristim za upravljanje stanjem aplikacije (JWT autentifikacija, događaji, postavke itd.). Sve komponente aplikacije komuniciraju i dijele stanje pomoću Reduxa, osiguravajući konzistentno i pouzdano funkcioniranje.</p>
<p><b style="color: var(--awb-color5);">Resend i React Email:</b> Implementacija slanja emailova s frontend aplikacije omogućava dobro dizajnirane email komponente i poboljšano korisničko iskustvo.</p>
<p><b style="color: var(--awb-color5);">Zod i React Hook Form:</b> Ove biblioteke koristim za validaciju i upravljanje događajima na frontendu prije slanja API poziva na backend.</p>
<p><b style="color: var(--awb-color5);">React Query:</b> Za upravljanje API pozivima i retry u slučaju grešaka. React Tanstack Query osigurava kvalitetnu integraciju s Reduxom i omogućava odličnu komunikaciju s backendom.</p>
<p><b style="color: var(--awb-color5);">Typescript:</b> pomogao mi je osigurati ispravne tipove podataka kroz tipove i sučelja te mi je značajno smanjio greške u kodu kroz statičku tipizaciju, što omogućava otkrivanje i ispravljanje grešaka tijekom razvoja. Osim toga, Typescript mi je značajno olakšao integraciju s backendom i bolje upravljanje poslovnom logikom, povećavajući pouzdanost aplikacije.</p>
<p><b style="color: var(--awb-color5);">Sentry:</b> Alat za logiranje i praćenje grešaka u aplikaciji, omogućio mi je pravovremene informacije o greškama i reproduciranje istih. Replay funckionalnost mi je značajno pomogla u prepoznavanju i reproduciranju grešaka nastalih korištenjem frontend dijela aplikacije.</p>
<p><b style="color: var(--awb-color5);">Full Calendar i Moment.js:</b> Omogućili su mi brz razvoj i kvalitetno upravljanje datumima/vremenima i generalno kod funkcionalnosti vezane uz evente i rezervacije. Ove biblioteke pomogle su mi u bržem dizajniranju komponenti i osigurale više vremena za bavljenje poslovnom logikom.</p>
<p><b style="color: var(--awb-color5);">NextUi i Tailwind CSS: </b>Biblioteke kojima sam kvalitetnije i brže razvio komponente koje su responzivne na svim uređajima. Ovim bibliotekama sam osigurao visoku kvalitetu i prilagodljivost dizajna.</p>
<p><b style="color: var(--awb-color5);">Vitest:</b> Koristim za testiranje čime osiguravam kvalitetu koda aplikacije prije deploymenta, ali i tijekom razvoja. Vitest mi je omogućio jednostavno pisanje testova prema različitim use case scenarijima koje mogu pokrenuti u bilo kojem trenutku ili ih pustiti da kontinuirano pokretanje kod svake promjene dijelova koda.</p>
<h2>Backend Tehnologije i Integracije</h2>
<p>Za backend aplikacije koristio sam sljedeće tehnologije i alate:</p>
<p><b style="color: var(--awb-color5);">Djoser i SimpleJWT:</b> Ove biblioteke koristio sam za autentifikaciju korisnika i requestova koji mi dolaze s frontend aplikacije. Razvio sam JWT autentifikaciju koja koristi HTTPOnly Cookies. Fokus sam stavio na sigurnost korisnika i podatakak koje dijelim između frontenda i bakcenda.</p>
<p><b style="color: var(--awb-color5);">Amazon SES:</b> Koristim za slanje email podsjetnika, kao i za cijeli proces registracije, potvrde korisničkih računa, reset lozinke itd.</p>
<p><b style="color: var(--awb-color5);">Cron Jobovi:</b> Automatizirano slanje email podsjetnika koji se pokreću putem cron jobova, omogućavajući pravovremene podsjetnike prema poslovnim pravilima.</p>
<p><b style="color: var(--awb-color5);">Django RestFramework i Swagger:</b> Django RestFramework za API i Swagger za API dokumentaciju, osiguravajući robusnu backend infrastrukturu.</p>
<p><b style="color: var(--awb-color5);">Logtail i Sentry:</b> Za logiranje i praćenje grešaka u aplikaciji, omogućujući detaljno praćenje statusa aplikacije i grešaka te praćenje cron jobova.</p>
<p><b style="color: var(--awb-color5);">Amazon S3: </b>Koristim za pohranu statičkih datoteka, omogućujući skalabilnost i dostupnost.</p>
<p><b style="color: var(--awb-color5);">Pytest: </b>Alat za testiranje backend koda, kojima provjeravam kvalitetu koda, use caseove prema poslovnim pravilima, ali i rukovanje exceptionima.</p>
</div></div></div></div></div><div class="fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling" style="--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;" ><div class="fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap" style="max-width:1248px;margin-left: calc(-4% / 2 );margin-right: calc(-4% / 2 );"><div class="fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column" style="--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;"><div class="fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column"><div class="fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-two" style="--awb-margin-bottom:10px;"><h2 class="fusion-title-heading title-heading-left" style="margin:0;">Galerija</h2></div><div class="awb-gallery-wrapper awb-gallery-wrapper-1 button-span-no" style="--more-btn-alignment:center;"><div style="margin:-5px;--awb-bordersize:0px;--awb-bordercolor:var(--awb-color5);--awb-border-radius:30px;" class="fusion-gallery fusion-gallery-container fusion-grid-3 fusion-columns-total-13 fusion-gallery-layout-masonry fusion-gallery-1"><div class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-grid-sizer"></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-grid"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Mobile-Color-modes.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Mobile-Color-modes.png);padding-top:calc((100% + 10px) * 0.8 - 5px);background-position:;" class="fusion-masonry-element-container"><img fetchpriority="high" decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Mobile-Color-modes.png" width="1080" height="1214" alt="" title="Mobile Color modes" aria-label="Mobile Color modes" class="img-responsive wp-image-14918" srcset="https://hetrih.com/wp-content/uploads/2024/06/Mobile-Color-modes-200x225.png 200w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Color-modes-400x450.png 400w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Color-modes-600x674.png 600w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Color-modes-800x899.png 800w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Color-modes.png 1080w" sizes="(min-width: 2200px) 100vw, (min-width: 1104px) 397px, (min-width: 1032px) 595px, (min-width: 960px) 1032px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-grid"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Desktop-tablet-mobile-NoBackground.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Desktop-tablet-mobile-NoBackground.png);padding-top:calc((100% + 10px) * 0.8 - 5px);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Desktop-tablet-mobile-NoBackground.png" width="940" height="788" alt="" title="Desktop-tablet-mobile-NoBackground" aria-label="Desktop-tablet-mobile-NoBackground" class="img-responsive wp-image-14915" srcset="https://hetrih.com/wp-content/uploads/2024/06/Desktop-tablet-mobile-NoBackground-200x168.png 200w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-tablet-mobile-NoBackground-400x335.png 400w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-tablet-mobile-NoBackground-600x503.png 600w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-tablet-mobile-NoBackground-800x671.png 800w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-tablet-mobile-NoBackground.png 940w" sizes="(min-width: 2200px) 100vw, (min-width: 1104px) 397px, (min-width: 1032px) 595px, (min-width: 960px) 1032px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-landscape"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Tablet-Dark.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Tablet-Dark.png);padding-top:calc((100% + 10px) * 0.4 - 5px);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Tablet-Dark.png" width="1200" height="628" alt="" title="Tablet-Dark" aria-label="Tablet-Dark" class="img-responsive wp-image-14911" srcset="https://hetrih.com/wp-content/uploads/2024/06/Tablet-Dark-200x105.png 200w, https://hetrih.com/wp-content/uploads/2024/06/Tablet-Dark-400x209.png 400w, https://hetrih.com/wp-content/uploads/2024/06/Tablet-Dark-600x314.png 600w, https://hetrih.com/wp-content/uploads/2024/06/Tablet-Dark-800x419.png 800w, https://hetrih.com/wp-content/uploads/2024/06/Tablet-Dark.png 1200w" sizes="(min-width: 2200px) 100vw, (min-width: 960px) 1200px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-portrait"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Mobile-Dark.jpg" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Mobile-Dark.jpg);padding-top:calc((100% + 10px) * 1.6);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Mobile-Dark.jpg" width="1080" height="2124" alt="" title="Mobile-Dark" aria-label="Mobile-Dark" class="img-responsive wp-image-14919" srcset="https://hetrih.com/wp-content/uploads/2024/06/Mobile-Dark-200x393.jpg 200w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Dark-400x787.jpg 400w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Dark-600x1180.jpg 600w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Dark-800x1573.jpg 800w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Dark.jpg 1080w" sizes="(min-width: 2200px) 100vw, (min-width: 1104px) 397px, (min-width: 1032px) 595px, (min-width: 960px) 1032px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-portrait"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Mobile-modern.jpg" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Mobile-modern.jpg);padding-top:calc((100% + 10px) * 1.6);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Mobile-modern.jpg" width="1080" height="2138" alt="" title="Mobile-modern" aria-label="Mobile-modern" class="img-responsive wp-image-14908" srcset="https://hetrih.com/wp-content/uploads/2024/06/Mobile-modern-200x396.jpg 200w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-modern-400x792.jpg 400w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-modern-600x1188.jpg 600w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-modern-800x1584.jpg 800w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-modern.jpg 1080w" sizes="(min-width: 2200px) 100vw, (min-width: 1104px) 397px, (min-width: 1032px) 595px, (min-width: 960px) 1032px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-portrait"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Mobile-Light.jpg" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Mobile-Light.jpg);padding-top:calc((100% + 10px) * 1.6);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Mobile-Light.jpg" width="1080" height="2130" alt="" title="Mobile-Light" aria-label="Mobile-Light" class="img-responsive wp-image-14920" srcset="https://hetrih.com/wp-content/uploads/2024/06/Mobile-Light-200x394.jpg 200w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Light-400x789.jpg 400w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Light-600x1183.jpg 600w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Light-800x1578.jpg 800w, https://hetrih.com/wp-content/uploads/2024/06/Mobile-Light.jpg 1080w" sizes="(min-width: 2200px) 100vw, (min-width: 1104px) 397px, (min-width: 1032px) 595px, (min-width: 960px) 1032px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-landscape"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Desktop-dark.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Desktop-dark.png);padding-top:calc((100% + 10px) * 0.4 - 5px);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Desktop-dark.png" width="1717" height="1071" alt="" title="Desktop-dark" aria-label="Desktop-dark" class="img-responsive wp-image-14913" srcset="https://hetrih.com/wp-content/uploads/2024/06/Desktop-dark-200x125.png 200w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-dark-400x250.png 400w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-dark-600x374.png 600w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-dark-800x499.png 800w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-dark-1200x749.png 1200w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-dark.png 1717w" sizes="(min-width: 2200px) 100vw, (min-width: 960px) 1200px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-grid"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Desktop.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Desktop.png);padding-top:calc((100% + 10px) * 0.8 - 5px);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Desktop.png" width="1716" height="1226" alt="" title="Desktop" aria-label="Desktop" class="img-responsive wp-image-14912" srcset="https://hetrih.com/wp-content/uploads/2024/06/Desktop-200x143.png 200w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-400x286.png 400w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-600x429.png 600w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-800x572.png 800w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-1200x857.png 1200w, https://hetrih.com/wp-content/uploads/2024/06/Desktop.png 1716w" sizes="(min-width: 2200px) 100vw, (min-width: 1104px) 397px, (min-width: 1032px) 595px, (min-width: 960px) 1032px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-landscape"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Desktop-modern.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Desktop-modern.png);padding-top:calc((100% + 10px) * 0.4 - 5px);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Desktop-modern.png" width="1716" height="1057" alt="" title="Desktop-modern" aria-label="Desktop-modern" class="img-responsive wp-image-14914" srcset="https://hetrih.com/wp-content/uploads/2024/06/Desktop-modern-200x123.png 200w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-modern-400x246.png 400w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-modern-600x370.png 600w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-modern-800x493.png 800w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-modern-1200x739.png 1200w, https://hetrih.com/wp-content/uploads/2024/06/Desktop-modern.png 1716w" sizes="(min-width: 2200px) 100vw, (min-width: 960px) 1200px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-landscape"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Postavke.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Postavke.png);padding-top:calc((100% + 10px) * 0.4 - 5px);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Postavke.png" width="1609" height="659" alt="" title="Postavke" aria-label="Postavke" class="img-responsive wp-image-14909" srcset="https://hetrih.com/wp-content/uploads/2024/06/Postavke-200x82.png 200w, https://hetrih.com/wp-content/uploads/2024/06/Postavke-400x164.png 400w, https://hetrih.com/wp-content/uploads/2024/06/Postavke-600x246.png 600w, https://hetrih.com/wp-content/uploads/2024/06/Postavke-800x328.png 800w, https://hetrih.com/wp-content/uploads/2024/06/Postavke-1200x491.png 1200w, https://hetrih.com/wp-content/uploads/2024/06/Postavke.png 1609w" sizes="(min-width: 2200px) 100vw, (min-width: 960px) 1200px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-landscape"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Predlosci.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Predlosci.png);padding-top:calc((100% + 10px) * 0.4 - 5px);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Predlosci.png" width="1186" height="763" alt="" title="Predlosci" aria-label="Predlosci" class="img-responsive wp-image-14910" srcset="https://hetrih.com/wp-content/uploads/2024/06/Predlosci-200x129.png 200w, https://hetrih.com/wp-content/uploads/2024/06/Predlosci-400x257.png 400w, https://hetrih.com/wp-content/uploads/2024/06/Predlosci-600x386.png 600w, https://hetrih.com/wp-content/uploads/2024/06/Predlosci-800x515.png 800w, https://hetrih.com/wp-content/uploads/2024/06/Predlosci.png 1186w" sizes="(min-width: 2200px) 100vw, (min-width: 960px) 1200px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-grid"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/Klijenti.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/Klijenti.png);padding-top:calc((100% + 10px) * 0.8 - 5px);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/Klijenti.png" width="1193" height="943" alt="" title="Klijenti" aria-label="Klijenti" class="img-responsive wp-image-14916" srcset="https://hetrih.com/wp-content/uploads/2024/06/Klijenti-200x158.png 200w, https://hetrih.com/wp-content/uploads/2024/06/Klijenti-400x316.png 400w, https://hetrih.com/wp-content/uploads/2024/06/Klijenti-600x474.png 600w, https://hetrih.com/wp-content/uploads/2024/06/Klijenti-800x632.png 800w, https://hetrih.com/wp-content/uploads/2024/06/Klijenti.png 1193w" sizes="(min-width: 2200px) 100vw, (min-width: 1104px) 397px, (min-width: 1032px) 595px, (min-width: 960px) 1032px, " /></div></a></div></div><div style="padding:5px;" class="fusion-grid-column fusion-gallery-column fusion-gallery-column-3 hover-type-none fusion-element-grid"><div class="fusion-gallery-image"><a href="https://hetrih.com/wp-content/uploads/2024/06/KreiranjeTermina.png" rel="noreferrer" data-rel="iLightbox[gallery_image_1]" class="fusion-lightbox" target="_self"><div style="background-image:url(https://hetrih.com/wp-content/uploads/2024/06/KreiranjeTermina.png);padding-top:calc((100% + 10px) * 0.8 - 5px);background-position:;" class="fusion-masonry-element-container"><img decoding="async" src="https://hetrih.com/wp-content/uploads/2024/06/KreiranjeTermina.png" width="1233" height="955" alt="" title="KreiranjeTermina" aria-label="KreiranjeTermina" class="img-responsive wp-image-14917" srcset="https://hetrih.com/wp-content/uploads/2024/06/KreiranjeTermina-200x155.png 200w, https://hetrih.com/wp-content/uploads/2024/06/KreiranjeTermina-400x310.png 400w, https://hetrih.com/wp-content/uploads/2024/06/KreiranjeTermina-600x465.png 600w, https://hetrih.com/wp-content/uploads/2024/06/KreiranjeTermina-800x620.png 800w, https://hetrih.com/wp-content/uploads/2024/06/KreiranjeTermina-1200x929.png 1200w, https://hetrih.com/wp-content/uploads/2024/06/KreiranjeTermina.png 1233w" sizes="(min-width: 2200px) 100vw, (min-width: 1104px) 397px, (min-width: 1032px) 595px, (min-width: 960px) 1032px, " /></div></a></div></div></div></div></div></div></div></div></p>
<p>Objava <a href="https://hetrih.com/portfolio-items/empori-web-app-full-stack/">Web aplikacija &#8211; Empori &#8211; Full-stack</a> pojavila se prvi puta na <a href="https://hetrih.com">Hetrih.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
