<?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>Archiwa: Systemy - Nethouse</title>
	<atom:link href="https://www.nethouse.tech/project_category/systemy/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.nethouse.tech/project_category/systemy/</link>
	<description>Usługi internetowe - Tomasz Szczepaniak</description>
	<lastBuildDate>Sat, 17 Jan 2026 09:07:54 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.nethouse.tech/wp-content/uploads/2021/01/cropped-Tomasz-Szczepaniakxxx-32x32.png</url>
	<title>Archiwa: Systemy - Nethouse</title>
	<link>https://www.nethouse.tech/project_category/systemy/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Aplikacja dla systemu NiceGastro</title>
		<link>https://www.nethouse.tech/project/aplikacja-dla-systemu-nicegastro/</link>
					<comments>https://www.nethouse.tech/project/aplikacja-dla-systemu-nicegastro/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 17 Jan 2026 09:03:11 +0000</pubDate>
				<guid isPermaLink="false">https://www.nethouse.tech/?post_type=project&#038;p=1224</guid>

					<description><![CDATA[<p>🍴 Nice Gastro to jeden z największych i najbardziej kompleksowych systemów cateringowych w Polsce, tworzony w Software House Nicesoft. Przez ostatnie miesiące miałem okazję aktywnie uczestniczyć w rozwoju tego projektu, pracując nad rozwiązaniem typu end-to-end, które obsługuje cały proces cateringu dietetycznego – od momentu złożenia zamówienia przez klienta, aż po realizację i logistykę po stronie [&#8230;]</p>
<p>Artykuł <a href="https://www.nethouse.tech/project/aplikacja-dla-systemu-nicegastro/">Aplikacja dla systemu NiceGastro</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">🍴 <strong>Nice Gastro</strong> to jeden z największych i najbardziej kompleksowych systemów cateringowych w Polsce, tworzony w <strong>Software House Nicesoft</strong>. Przez ostatnie miesiące miałem okazję aktywnie uczestniczyć w rozwoju tego projektu, pracując nad rozwiązaniem typu <strong>end-to-end</strong>, które obsługuje cały proces cateringu dietetycznego – od momentu złożenia zamówienia przez klienta, aż po realizację i logistykę po stronie kuchni.</p>



<p class="wp-block-paragraph">System składa się z kilku kluczowych elementów:</p>



<ul class="wp-block-list">
<li><strong>panelu webowego dla klientów</strong>, umożliwiającego zakup i zarządzanie dietą,</li>



<li><strong>aplikacji mobilnych (iOS oraz Android)</strong> tworzonych w modelu <strong>white-label</strong> dla wielu marek cateringowych,</li>



<li><strong>rozbudowanego panelu administracyjnego</strong>, zapewniającego pełną kontrolę nad produkcją, dostawami, dietami oraz klientami.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">🔧 Moja rola w projekcie</h3>



<p class="wp-block-paragraph">Brałem udział w projektowaniu i implementacji kluczowych elementów systemu, zarówno od strony backendu, jak i aplikacji mobilnej.</p>



<p class="wp-block-paragraph"><strong>Backend (Node.js, MySQL, Redis):</strong></p>



<ul class="wp-block-list">
<li>tworzenie i rozwój API obsługującego m.in. logowanie, rejestrację, zamówienia, koszyki i płatności,</li>



<li>projektowanie i wdrażanie złożonej logiki biznesowej,</li>



<li>optymalizacja wydajności poprzez <strong>globalny cache oparty o Redis</strong>,</li>



<li>implementacja kolejek asynchronicznych (BullMQ) oraz zadań cyklicznych (cron).</li>
</ul>



<p class="wp-block-paragraph"><strong>Integracje zewnętrzne:</strong></p>



<ul class="wp-block-list">
<li>systemy płatności: <strong>PayNow, Apple Pay, Google Pay</strong>,</li>



<li>system fakturowania <strong>Fakturownia</strong>,</li>



<li>obsługa powiadomień push oraz procesów automatycznych.</li>
</ul>



<p class="wp-block-paragraph"><strong>Logika biznesowa:</strong></p>



<ul class="wp-block-list">
<li>zakup diet i dodatków,</li>



<li>edycja diet w trakcie trwania zamówienia (zmiany adresów i dni dostaw),</li>



<li>kalkulator BMI,</li>



<li>system ocen dań,</li>



<li>zaawansowany <strong>system rabatowy</strong> obejmujący:
<ul class="wp-block-list">
<li>kody rabatowe,</li>



<li>program poleceń,</li>



<li>punkty lojalnościowe,</li>



<li>„skarbonkę” klienta,</li>



<li>rabaty za wspólną dostawę oraz długość zamówienia.</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph"><strong>Aplikacja mobilna (React Native + Expo):</strong></p>



<ul class="wp-block-list">
<li>logowanie i rejestracja użytkowników,</li>



<li>płatności mobilne,</li>



<li>powiadomienia push,</li>



<li>konfiguracja menu dietetycznego,</li>



<li>obsługa <strong>customowych motywów</strong> dla różnych marek (white-label).</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">👉 <strong>Nice Gastro</strong> to nowoczesne, skalowalne rozwiązanie dla branży cateringowej, które łączy zaawansowaną logikę biznesową, wysoką wydajność oraz wygodę użytkowania. Projekt dał mi możliwość pracy z dużym, produkcyjnym systemem, integracji wielu technologii oraz realnego wpływu na produkt używany przez tysiące użytkowników.</p>
<p>Artykuł <a href="https://www.nethouse.tech/project/aplikacja-dla-systemu-nicegastro/">Aplikacja dla systemu NiceGastro</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nethouse.tech/project/aplikacja-dla-systemu-nicegastro/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Aplikacja mobilna MobiTor &#8211; Android i IOS</title>
		<link>https://www.nethouse.tech/project/aplikacja-mobilna-mobitor-android-i-ios/</link>
					<comments>https://www.nethouse.tech/project/aplikacja-mobilna-mobitor-android-i-ios/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 05 Sep 2024 14:14:07 +0000</pubDate>
				<guid isPermaLink="false">https://www.nethouse.tech/?post_type=project&#038;p=1189</guid>

					<description><![CDATA[<p>Aplikacja mobilna dla firmy KZNW ramach tego projektu stworzyłem mobilną aplikację dla firmy KZN, która została zbudowana w oparciu o React Native (frontend) oraz Node.js (backend) z wykorzystaniem REST API i bazy danych PostgreSQL. Aplikacja ma na celu optymalizację zarządzania zadaniami oraz pracownikami poprzez cyfrowe karty pracy oraz inne zaawansowane funkcjonalności. Funkcjonalności aplikacji: Moduł edycji [&#8230;]</p>
<p>Artykuł <a href="https://www.nethouse.tech/project/aplikacja-mobilna-mobitor-android-i-ios/">Aplikacja mobilna MobiTor &#8211; Android i IOS</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Aplikacja mobilna dla firmy KZN</strong><br>W ramach tego projektu stworzyłem mobilną aplikację dla firmy KZN, która została zbudowana w oparciu o <strong>React Native</strong> (frontend) oraz <strong>Node.js</strong> (backend) z wykorzystaniem <strong>REST API</strong> i bazy danych <strong>PostgreSQL</strong>. Aplikacja ma na celu optymalizację zarządzania zadaniami oraz pracownikami poprzez cyfrowe karty pracy oraz inne zaawansowane funkcjonalności.</p>



<h3 class="wp-block-heading"><strong>Funkcjonalności aplikacji:</strong></h3>



<ul class="wp-block-list">
<li><strong>Logowanie użytkowników</strong>: Zabezpieczone logowanie z wykorzystaniem weryfikacji tożsamości umożliwia dostęp wyłącznie autoryzowanym użytkownikom.</li>



<li><strong>Wybór firmy i modułów aplikacji</strong>: Po zalogowaniu użytkownik może wybrać firmę, dla której pracuje, a następnie odpowiedni moduł aplikacji w zależności od swoich uprawnień i przydzielonych zadań.</li>



<li><strong>Weryfikacja uprawnień</strong>: Aplikacja weryfikuje uprawnienia każdego użytkownika, co pozwala na odpowiednie ograniczenie dostępu do danych i funkcji. Tylko pracownicy z odpowiednimi uprawnieniami mogą edytować karty pracy.</li>



<li><strong>Dodawanie i edycja kart pracy</strong>: Aplikacja umożliwia tworzenie nowych kart pracy oraz edytowanie istniejących przez osoby z odpowiednimi uprawnieniami. Edycja obejmuje m.in. zarządzanie przypisanymi pracownikami oraz czasem pracy.</li>
</ul>



<h3 class="wp-block-heading"><strong>Moduł edycji kart pracy:</strong></h3>



<p class="wp-block-paragraph">Moduł ten pozwala na szczegółowe zarządzanie kartami pracy, w tym na edycję następujących elementów:</p>



<ul class="wp-block-list">
<li><strong>Pracownicy przypisani do karty pracy</strong>: Użytkownik może dodawać nowych pracowników, edytować ich czas pracy (godziny rozpoczęcia i zakończenia), a także usuwać osoby z listy.</li>



<li><strong>Czas rozpoczęcia i zakończenia pracy</strong>: Możliwość precyzyjnego ustawiania godzin rozpoczęcia i zakończenia pracy każdego pracownika.</li>



<li><strong>Zmiana rodzaju karty pracy</strong>: Użytkownicy mogą zmieniać rodzaj karty pracy, np. z serwisowej na inną, zgodnie z typem wykonywanych zadań.</li>



<li><strong>Usunięcie karty pracy</strong>: Użytkownicy z odpowiednimi uprawnieniami mogą usuwać karty pracy, co umożliwia elastyczne zarządzanie i kontrolę nad zadaniami.</li>
</ul>



<h3 class="wp-block-heading"><strong>Weryfikacja uprawnień</strong>:</h3>



<p class="wp-block-paragraph">Każda akcja związana z wyborem firmy, modułu aplikacji oraz edycją kart pracy jest zabezpieczona poprzez weryfikację uprawnień pracownika. Tylko użytkownicy posiadający odpowiednie uprawnienia mają możliwość modyfikowania kart pracy, co zapewnia dodatkowe bezpieczeństwo i kontrolę nad danymi w aplikacji.</p>



<h3 class="wp-block-heading"><strong>Backend i połączenie z bazą danych:</strong></h3>



<ul class="wp-block-list">
<li><strong>Node.js i REST API</strong>: Backend został stworzony w oparciu o <strong>Node.js</strong>, a cała komunikacja pomiędzy frontendem a backendem odbywa się za pośrednictwem <strong>REST API</strong>, co zapewnia szybki i efektywny przepływ danych.</li>



<li><strong>PostgreSQL</strong>: Baza danych <strong>PostgreSQL</strong> przechowuje wszystkie istotne dane związane z pracownikami, zadaniami oraz kartami pracy, co gwarantuje ich bezpieczeństwo i łatwą skalowalność.</li>
</ul>



<h3 class="wp-block-heading"><strong>Przyszłe plany rozwoju aplikacji</strong>:</h3>



<p class="wp-block-paragraph">Aplikacja jest wciąż na wczesnym etapie rozwoju, a obecnie udostępnione funkcjonalności to dopiero początek. W przyszłości planowane są kolejne rozszerzenia, w tym wdrożenie nowych modułów dla pracowników, które pozwolą na jeszcze bardziej kompleksowe zarządzanie procesami pracy i zadaniami w firmie.</p>



<h3 class="wp-block-heading"><strong>Korzyści z wdrożenia aplikacji:</strong></h3>



<ul class="wp-block-list">
<li><strong>Prosty interfejs użytkownika</strong>: Aplikacja jest intuicyjna i łatwa w obsłudze, co ułatwia zarządzanie kartami pracy i zadaniami dla każdego pracownika.</li>



<li><strong>Optymalizacja zarządzania</strong>: Dzięki funkcji dodawania i edytowania kart pracy, firmy mogą skutecznie zarządzać czasem pracy pracowników i monitorować postęp realizowanych zadań.</li>



<li><strong>Skalowalność i elastyczność</strong>: Aplikacja została zaprojektowana z myślą o dalszym rozwoju, co pozwala na łatwe dodawanie nowych funkcji oraz integrację z innymi systemami.</li>
</ul>


<style>#jtg-1204 .modula-item .jtg-social a, .lightbox-socials.jtg-social a{ fill: #ffffff; color: #ffffff }#jtg-1204 .modula-item .jtg-social-expandable a, #jtg-1204 .modula-item .jtg-social-expandable-icons a{ fill: #ffffff; color: #ffffff }#jtg-1204 .modula-item .jtg-social svg, .lightbox-socials.jtg-social svg { height: 16px; width: 16px }#jtg-1204 .modula-item .jtg-social-expandable svg { height: 16px; width: 16px }#jtg-1204 .modula-item .jtg-social-expandable-icons svg { height: 16px; width: 16px }#jtg-1204 .modula-item .jtg-social a:not(:last-child), .lightbox-socials.jtg-social a:not(:last-child) { margin-right: 10px }#jtg-1204 .modula-item .jtg-social-expandable-icons { gap: 10px }#jtg-1204 .modula-item .figc {color:#ffffff;}#jtg-1204 .modula-item .figc .jtg-title {  font-size: 16px; }#jtg-1204 .modula-item .modula-item-content { transform: scale(1); }#jtg-1204 { width:100%;}#jtg-1204 .modula-items{height:800px;}@media screen and (max-width: 992px) {#jtg-1204 .modula-items{height:800px;}}@media screen and (max-width: 768px) {#jtg-1204 .modula-items{height:800px;}}#jtg-1204 .modula-items .figc p.description { font-size:14px; }#jtg-1204 .modula-items .figc p.description { color:#ffffff;}#jtg-1204 .modula-items .figc .jtg-title { color:#ffffff; }#jtg-1204.modula-gallery .modula-item > a, #jtg-1204.modula-gallery .modula-item, #jtg-1204.modula-gallery .modula-item-content > a:not(.modula-no-follow) { cursor:zoom-in; } #jtg-1204.modula-gallery .modula-item-content .modula-no-follow { cursor: default; } @media screen and (max-width:480px){#jtg-1204 .modula-item .figc .jtg-title {  font-size: 12px; }#jtg-1204 .modula-items .figc p.description { color:#ffffff;font-size:10px; }}</style>
<div  id="jtg-1204" class="modula modula-gallery modula-creative-gallery" data-config="{&quot;height&quot;:800,&quot;tabletHeight&quot;:800,&quot;mobileHeight&quot;:800,&quot;desktopHeight&quot;:800,&quot;enableTwitter&quot;:false,&quot;enableWhatsapp&quot;:false,&quot;enableFacebook&quot;:false,&quot;enablePinterest&quot;:false,&quot;enableLinkedin&quot;:false,&quot;enableEmail&quot;:false,&quot;randomFactor&quot;:0.5,&quot;type&quot;:&quot;creative-gallery&quot;,&quot;columns&quot;:12,&quot;gutter&quot;:10,&quot;mobileGutter&quot;:10,&quot;tabletGutter&quot;:10,&quot;desktopGutter&quot;:10,&quot;enableResponsive&quot;:&quot;0&quot;,&quot;tabletColumns&quot;:2,&quot;mobileColumns&quot;:1,&quot;lazyLoad&quot;:0,&quot;lightboxOpts&quot;:{&quot;animated&quot;:true,&quot;Thumbs&quot;:{&quot;type&quot;:&quot;modern&quot;,&quot;showOnStart&quot;:false},&quot;Toolbar&quot;:{&quot;display&quot;:{&quot;right&quot;:[&quot;close&quot;]},&quot;enabled&quot;:true},&quot;Carousel&quot;:{&quot;Panzoom&quot;:{&quot;touch&quot;:false},&quot;infinite&quot;:false},&quot;keyboard&quot;:{&quot;Escape&quot;:&quot;close&quot;,&quot;Delete&quot;:&quot;close&quot;,&quot;Backspace&quot;:&quot;close&quot;,&quot;PageUp&quot;:false,&quot;PageDown&quot;:false,&quot;ArrowUp&quot;:false,&quot;ArrowDown&quot;:false,&quot;ArrowRight&quot;:false,&quot;ArrowLeft&quot;:false},&quot;touch&quot;:false,&quot;backdropClick&quot;:false,&quot;l10n&quot;:{&quot;CLOSE&quot;:&quot;Zamknij&quot;,&quot;NEXT&quot;:&quot;Nast\u0119pny&quot;,&quot;PREV&quot;:&quot;Poprzedni&quot;,&quot;Error&quot;:&quot;Nie mo\u017cna wczyta\u0107 \u017c\u0105danej tre\u015bci. Spr\u00f3buj ponownie p\u00f3\u017aniej.&quot;,&quot;PLAY_START&quot;:&quot;Rozpocznij pokaz slajd\u00f3w&quot;,&quot;PLAY_STOP&quot;:&quot;Zatrzymaj pokaz slajd\u00f3w&quot;,&quot;FULL_SCREEN&quot;:&quot;Pe\u0142ny ekran&quot;,&quot;THUMBS&quot;:&quot;Miniaturki&quot;,&quot;DOWNLOAD&quot;:&quot;Pobieranie&quot;,&quot;SHARE&quot;:&quot;Udost\u0119pnij&quot;,&quot;ZOOM&quot;:&quot;Powi\u0119kszenie&quot;,&quot;EMAIL&quot;:&quot;Oto odno\u015bnik do obrazka: %%image_link%%, a oto odno\u015bnik do galerii: %%gallery_link%%&quot;,&quot;MODAL&quot;:&quot;Mo\u017cesz zamkn\u0105\u0107 t\u0119 zawarto\u015b\u0107 okna modalnego za pomoc\u0105 klawisza ESC&quot;,&quot;ERROR&quot;:&quot;Co\u015b posz\u0142o nie tak. Spr\u00f3buj ponownie p\u00f3\u017aniej&quot;,&quot;IMAGE_ERROR&quot;:&quot;Nie znaleziono obrazka&quot;,&quot;ELEMENT_NOT_FOUND&quot;:&quot;Nie znaleziono elementu HTML&quot;,&quot;AJAX_NOT_FOUND&quot;:&quot;B\u0142\u0105d wczytywania AJAX: Nie znaleziono&quot;,&quot;AJAX_FORBIDDEN&quot;:&quot;B\u0142\u0105d wczytywania AJAX: Zabronione&quot;,&quot;IFRAME_ERROR&quot;:&quot;B\u0142\u0105d wczytywania strony&quot;,&quot;TOGGLE_ZOOM&quot;:&quot;Prze\u0142\u0105cz poziom powi\u0119kszenia&quot;,&quot;TOGGLE_THUMBS&quot;:&quot;Prze\u0142\u0105cz miniaturki&quot;,&quot;TOGGLE_SLIDESHOW&quot;:&quot;Prze\u0142\u0105cz pokaz slajd\u00f3w&quot;,&quot;TOGGLE_FULLSCREEN&quot;:&quot;Prze\u0142\u0105cz tryb pe\u0142noekranowy&quot;},&quot;Images&quot;:{&quot;Panzoom&quot;:{&quot;maxScale&quot;:2}},&quot;mainClass&quot;:&quot;modula-fancybox-container modula-lightbox-jtg-1204&quot;,&quot;Html&quot;:{&quot;videoAutoplay&quot;:0,&quot;videoTpl&quot;:&quot;&lt;video class=\&quot;fancybox__html5video\&quot; controls muted playsinline controlsList controlsList=\&quot;nodownload\&quot; poster=\&quot;{{poster}}\&quot; src=\&quot;{{src}}\&quot; type=\&quot;{{format}}\&quot; &gt;  Sorry, your browser doesn&#039;t support embedded videos, &lt;a href=\&quot;{{src}}\&quot;&gt; download &lt;\/a&gt; and watch with your favorite video player! &lt;\/video&gt;&quot;}},&quot;inView&quot;:false,&quot;email_subject&quot;:&quot;Sprawd\u017a ten niesamowity obrazek!&quot;,&quot;email_message&quot;:&quot;Oto odno\u015bnik do obrazku: %%image_link%%, a to odno\u015bnik do galerii: %%gallery_link%%&quot;,&quot;lightbox&quot;:&quot;fancybox&quot;}">

	
	<div  class="modula-items">
		<div class="modula-item effect-pufrobo" >
	<div class="modula-item-overlay"></div>

	<div class="modula-item-content">

				
					<a data-image-id="1200" role="button" tabindex="0" rel="jtg-1204" data-caption="" aria-label="Otwórz obrazek w lightboxie" class="tile-inner modula-item-link"></a>
		
		<img fetchpriority="high" decoding="async" class="pic wp-image-1200"  data-valign="middle" data-halign="center" alt="" data-full="https://www.nethouse.tech/wp-content/uploads/2024/09/logowanie.jpg" title="logowanie" width="472" height="1024" src="https://www.nethouse.tech/wp-content/uploads/2024/09/logowanie-472x1024.jpg" data-src="https://www.nethouse.tech/wp-content/uploads/2024/09/logowanie-472x1024.jpg" data-caption=""/>
		<div class="figc no-description">
			<div class="figc-inner">
															</div>
		</div>

	</div>

</div><div class="modula-item effect-pufrobo" >
	<div class="modula-item-overlay"></div>

	<div class="modula-item-content">

				
					<a data-image-id="1201" role="button" tabindex="0" rel="jtg-1204" data-caption="" aria-label="Otwórz obrazek w lightboxie" class="tile-inner modula-item-link"></a>
		
		<img loading="lazy" decoding="async" class="pic wp-image-1201"  data-valign="middle" data-halign="center" alt="" data-full="https://www.nethouse.tech/wp-content/uploads/2024/09/wybor-firmy.jpg" title="wybór-firmy" width="472" height="1024" src="https://www.nethouse.tech/wp-content/uploads/2024/09/wybor-firmy-472x1024.jpg" data-src="https://www.nethouse.tech/wp-content/uploads/2024/09/wybor-firmy-472x1024.jpg" data-caption=""/>
		<div class="figc no-description">
			<div class="figc-inner">
															</div>
		</div>

	</div>

</div><div class="modula-item effect-pufrobo" >
	<div class="modula-item-overlay"></div>

	<div class="modula-item-content">

				
					<a data-image-id="1199" role="button" tabindex="0" rel="jtg-1204" data-caption="" aria-label="Otwórz obrazek w lightboxie" class="tile-inner modula-item-link"></a>
		
		<img loading="lazy" decoding="async" class="pic wp-image-1199"  data-valign="middle" data-halign="center" alt="" data-full="https://www.nethouse.tech/wp-content/uploads/2024/09/wybor-modulu.png" title="wybor-modulu" width="472" height="1024" src="https://www.nethouse.tech/wp-content/uploads/2024/09/wybor-modulu-472x1024.png" data-src="https://www.nethouse.tech/wp-content/uploads/2024/09/wybor-modulu-472x1024.png" data-caption=""/>
		<div class="figc no-description">
			<div class="figc-inner">
															</div>
		</div>

	</div>

</div><div class="modula-item effect-pufrobo" >
	<div class="modula-item-overlay"></div>

	<div class="modula-item-content">

				
					<a data-image-id="1197" role="button" tabindex="0" rel="jtg-1204" data-caption="" aria-label="Otwórz obrazek w lightboxie" class="tile-inner modula-item-link"></a>
		
		<img loading="lazy" decoding="async" class="pic wp-image-1197"  data-valign="middle" data-halign="center" alt="" data-full="https://www.nethouse.tech/wp-content/uploads/2024/09/wybor-aplikacji.png" title="wybor-aplikacji" width="472" height="1024" src="https://www.nethouse.tech/wp-content/uploads/2024/09/wybor-aplikacji-472x1024.png" data-src="https://www.nethouse.tech/wp-content/uploads/2024/09/wybor-aplikacji-472x1024.png" data-caption=""/>
		<div class="figc no-description">
			<div class="figc-inner">
															</div>
		</div>

	</div>

</div><div class="modula-item effect-pufrobo" >
	<div class="modula-item-overlay"></div>

	<div class="modula-item-content">

				
					<a data-image-id="1202" role="button" tabindex="0" rel="jtg-1204" data-caption="" aria-label="Otwórz obrazek w lightboxie" class="tile-inner modula-item-link"></a>
		
		<img loading="lazy" decoding="async" class="pic wp-image-1202"  data-valign="middle" data-halign="center" alt="" data-full="https://www.nethouse.tech/wp-content/uploads/2024/09/przeglad-kart.jpg" title="przeglad-kart" width="472" height="1024" src="https://www.nethouse.tech/wp-content/uploads/2024/09/przeglad-kart-472x1024.jpg" data-src="https://www.nethouse.tech/wp-content/uploads/2024/09/przeglad-kart-472x1024.jpg" data-caption=""/>
		<div class="figc no-description">
			<div class="figc-inner">
															</div>
		</div>

	</div>

</div><div class="modula-item effect-pufrobo" >
	<div class="modula-item-overlay"></div>

	<div class="modula-item-content">

				
					<a data-image-id="1195" role="button" tabindex="0" rel="jtg-1204" data-caption="" aria-label="Otwórz obrazek w lightboxie" class="tile-inner modula-item-link"></a>
		
		<img loading="lazy" decoding="async" class="pic wp-image-1195"  data-valign="middle" data-halign="center" alt="" data-full="https://www.nethouse.tech/wp-content/uploads/2024/09/dodanie-karty2.jpg" title="dodanie-karty2" width="472" height="1024" src="https://www.nethouse.tech/wp-content/uploads/2024/09/dodanie-karty2-472x1024.jpg" data-src="https://www.nethouse.tech/wp-content/uploads/2024/09/dodanie-karty2-472x1024.jpg" data-caption=""/>
		<div class="figc no-description">
			<div class="figc-inner">
															</div>
		</div>

	</div>

</div><div class="modula-item effect-pufrobo" >
	<div class="modula-item-overlay"></div>

	<div class="modula-item-content">

				
					<a data-image-id="1196" role="button" tabindex="0" rel="jtg-1204" data-caption="" aria-label="Otwórz obrazek w lightboxie" class="tile-inner modula-item-link"></a>
		
		<img loading="lazy" decoding="async" class="pic wp-image-1196"  data-valign="middle" data-halign="center" alt="" data-full="https://www.nethouse.tech/wp-content/uploads/2024/09/dodanie-karty1.jpg" title="dodanie-karty1" width="472" height="1024" src="https://www.nethouse.tech/wp-content/uploads/2024/09/dodanie-karty1-472x1024.jpg" data-src="https://www.nethouse.tech/wp-content/uploads/2024/09/dodanie-karty1-472x1024.jpg" data-caption=""/>
		<div class="figc no-description">
			<div class="figc-inner">
															</div>
		</div>

	</div>

</div><div class="modula-item effect-pufrobo" >
	<div class="modula-item-overlay"></div>

	<div class="modula-item-content">

				
					<a data-image-id="1198" role="button" tabindex="0" rel="jtg-1204" data-caption="" aria-label="Otwórz obrazek w lightboxie" class="tile-inner modula-item-link"></a>
		
		<img loading="lazy" decoding="async" class="pic wp-image-1198"  data-valign="middle" data-halign="center" alt="" data-full="https://www.nethouse.tech/wp-content/uploads/2024/09/edycja-karty.jpg" title="edycja-karty" width="472" height="1024" src="https://www.nethouse.tech/wp-content/uploads/2024/09/edycja-karty-472x1024.jpg" data-src="https://www.nethouse.tech/wp-content/uploads/2024/09/edycja-karty-472x1024.jpg" data-caption=""/>
		<div class="figc no-description">
			<div class="figc-inner">
															</div>
		</div>

	</div>

</div>		
	</div>

	
	
	<script type="application/ld+json">
	{
		"@context": "http://schema.org",
		"@type"   : "ImageGallery",
		"id"      : "https://www.nethouse.tech/project/aplikacja-mobilna-mobitor-android-i-ios/",
		"url"     : "https://www.nethouse.tech/project/aplikacja-mobilna-mobitor-android-i-ios/"
	}

	</script>

	
</div>

<p>Artykuł <a href="https://www.nethouse.tech/project/aplikacja-mobilna-mobitor-android-i-ios/">Aplikacja mobilna MobiTor &#8211; Android i IOS</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nethouse.tech/project/aplikacja-mobilna-mobitor-android-i-ios/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Panel judo Opole</title>
		<link>https://www.nethouse.tech/project/panel-judo-opole/</link>
					<comments>https://www.nethouse.tech/project/panel-judo-opole/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 06 Dec 2023 08:46:19 +0000</pubDate>
				<guid isPermaLink="false">https://www.nethouse.tech/?post_type=project&#038;p=1130</guid>

					<description><![CDATA[<p>Panel judoopole.pl to narzędzie stworzone dla klubów sportowych, umożliwiające trenerom, rodzicom i administratorom skuteczne zarządzanie obecnością zawodników na treningach. System pozwala na tworzenie zawodników, grup, oraz śledzenie frekwencji na treningach z podziałem na różne statusy. Technologie Funkcjonalności Zarządzanie Zawodnikami Tworzenie Grup Planowanie Treningów Współpraca Trenerów Raporty i Analizy Panel Rodzica Uprawnienia Dostępu Podsumowanie Panel klubu [&#8230;]</p>
<p>Artykuł <a href="https://www.nethouse.tech/project/panel-judo-opole/">Panel judo Opole</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Panel judoopole.pl to narzędzie stworzone dla klubów sportowych, umożliwiające trenerom, rodzicom i administratorom skuteczne zarządzanie obecnością zawodników na treningach. System pozwala na tworzenie zawodników, grup, oraz śledzenie frekwencji na treningach z podziałem na różne statusy.</p>



<h2 class="wp-block-heading">Technologie</h2>



<ol class="wp-block-list">
<li><strong>Node.js</strong>
<ul class="wp-block-list">
<li>Wykorzystany do tworzenia serwera i obsługi żądań HTTP.</li>
</ul>
</li>



<li><strong>Express.js</strong>
<ul class="wp-block-list">
<li>Framework ułatwiający budowę aplikacji webowych po stronie serwera.</li>
</ul>
</li>



<li><strong>MongoDB</strong>
<ul class="wp-block-list">
<li>Baza danych dokumentowa, przechowująca dane o zawodnikach, grupach, treningach i obecności.</li>
</ul>
</li>



<li><strong>HTML, CSS, JavaScript, Bootstrap, Handlebars</strong>
<ul class="wp-block-list">
<li>Technologie front-endowe zapewniające responsywny interfejs użytkownika.</li>
</ul>
</li>



<li><strong>AWS EC2</strong>
<ul class="wp-block-list">
<li>Całość hostowana na platformie AWS EC2, zapewniającej skalowalność i niezawodność.</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading">Funkcjonalności</h2>



<h3 class="wp-block-heading">Zarządzanie Zawodnikami</h3>



<ul class="wp-block-list">
<li><strong>Dodawanie Zawodników</strong>
<ul class="wp-block-list">
<li>Trenerzy tworzą profile zawodników, dostarczając niezbędne informacje.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Tworzenie Grup</h3>



<ul class="wp-block-list">
<li><strong>Tworzenie Grup Treningowych</strong>
<ul class="wp-block-list">
<li>Trenerzy organizują zawodników w grupy treningowe.</li>
</ul>
</li>



<li><strong>Zarządzanie Składem Grup</strong>
<ul class="wp-block-list">
<li>Trenerzy dodają zawodników do grup, tworząc spójny skład.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Planowanie Treningów</h3>



<ul class="wp-block-list">
<li><strong>Tworzenie Treningów</strong>
<ul class="wp-block-list">
<li>Trenerzy ustalają daty, godziny i miejsca treningów w obrębie grup.</li>
</ul>
</li>



<li><strong>Zapisywanie Obecności</strong>
<ul class="wp-block-list">
<li>Podczas treningów, trenerzy rejestrują obecność zawodników z różnymi statusami (obecny, nieobecny, usprawiedliwiony, zwolniony, na obozie).</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Współpraca Trenerów</h3>



<ul class="wp-block-list">
<li><strong>Zapraszanie do Współpracy</strong>
<ul class="wp-block-list">
<li>Trenerzy w obrębie grup mogą zapraszać innych trenerów do wspólnego zarządzania obecnością.</li>
</ul>
</li>



<li><strong>Modyfikacja Obecności w Grupie</strong>
<ul class="wp-block-list">
<li>Trenerzy mają prawo modyfikować obecność w grupie, do której zostali zaproszeni.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Raporty i Analizy</h3>



<ul class="wp-block-list">
<li><strong>Generowanie Raportów o Zawodnikach</strong>
<ul class="wp-block-list">
<li>System pozwala na generowanie szczegółowych raportów o obecności poszczególnych zawodników.</li>
</ul>
</li>
</ul>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a173e8a4c2ec&quot;}" data-wp-interactive="core/image" data-wp-key="6a173e8a4c2ec" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="654" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.nethouse.tech/wp-content/uploads/2023/12/obraz-1024x654.png" alt="" class="wp-image-1132" srcset="https://www.nethouse.tech/wp-content/uploads/2023/12/obraz-980x626.png 980w, https://www.nethouse.tech/wp-content/uploads/2023/12/obraz-480x307.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<ul class="wp-block-list">
<li><strong>Raporty Frekwencji Grupy</strong>
<ul class="wp-block-list">
<li>Trenerzy mogą uzyskać raporty na temat frekwencji całej grupy na treningach.</li>



<li>Raporty mogą być zapisywane jako pdf lub wysyłane w wiadomości e-mail</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Panel Rodzica</h3>



<ul class="wp-block-list">
<li><strong>Sprawdzanie Obecności Dziecka</strong>
<ul class="wp-block-list">
<li>Rodzice, po zalogowaniu i weryfikacji danych swojego dziecka, mogą sprawdzać jego obecność na treningach.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Uprawnienia Dostępu</h3>



<ul class="wp-block-list">
<li><strong>Uprawnienia Trenerów</strong>
<ul class="wp-block-list">
<li>Trenerzy mają dostęp tylko do swoich grup lub grup, do których zostali zaproszeni.</li>
</ul>
</li>



<li><strong>Uprawnienia Rodziców</strong>
<ul class="wp-block-list">
<li>Rodzice mają ograniczony dostęp tylko do informacji dotyczących swojego dziecka.</li>
</ul>
</li>



<li><strong>Dostęp Administratora</strong>
<ul class="wp-block-list">
<li>Administrator ma pełen wgląd do całego systemu.</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p class="wp-block-paragraph">Panel klubu sportowego judoopole.pl to kompleksowe narzędzie, które ułatwia zarządzanie treningami, obecnością zawodników i współpracę trenerów. Dzięki zastosowaniu technologii Node.js, Express.js i MongoDB, system jest skalowalny, wydajny i odporny na awarie.</p>



<p class="wp-block-paragraph">Interfejs oparty na HTML, CSS, JavaScript, Bootstrap i Handlebars gwarantuje łatwą nawigację dla użytkowników, zarówno trenerów, jak i rodziców. Bogate funkcje raportowania pozwalają na bieżące monitorowanie frekwencji oraz analizę danych związanych z treningami.</p>



<p class="wp-block-paragraph">Całość hostowana jest na platformie AWS EC2, co gwarantuje niezawodność, skalowalność i bezpieczeństwo danych klubu sportowego. Panel judoopole.pl spełnia oczekiwania klubów sportowych, zapewniając przejrzystość, bezpieczeństwo danych i efektywne zarządzanie procesem szkolenia sportowego.</p>
<p>Artykuł <a href="https://www.nethouse.tech/project/panel-judo-opole/">Panel judo Opole</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nethouse.tech/project/panel-judo-opole/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Strefa klienta Elite-Fighters</title>
		<link>https://www.nethouse.tech/project/strefa-klienta-elite-fighters/</link>
					<comments>https://www.nethouse.tech/project/strefa-klienta-elite-fighters/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 06 Dec 2023 08:25:45 +0000</pubDate>
				<guid isPermaLink="false">https://www.nethouse.tech/?post_type=project&#038;p=1126</guid>

					<description><![CDATA[<p>System Elite-Fighters, umożliwia użytkownikom zapisywanie się na treningi grupowe i indywidualne. Treningi, wcześniej dodawane przez administratora (trenera), są zarządzane w bazie danych MongoDB. Trener określa dostępność do treningów indywidualnych, a ich potwierdzenie wymaga akceptacji ze strony trenera. Trener ma pełny przegląd oraz statystyki odbytych treningów, może również monitorować obecność zawodników podczas treningu. Technologie Funkcjonalności Rejestracja [&#8230;]</p>
<p>Artykuł <a href="https://www.nethouse.tech/project/strefa-klienta-elite-fighters/">Strefa klienta Elite-Fighters</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">System Elite-Fighters, umożliwia użytkownikom zapisywanie się na treningi grupowe i indywidualne. Treningi, wcześniej dodawane przez administratora (trenera), są zarządzane w bazie danych MongoDB. Trener określa dostępność do treningów indywidualnych, a ich potwierdzenie wymaga akceptacji ze strony trenera. Trener ma pełny przegląd oraz statystyki odbytych treningów, może  również monitorować obecność zawodników podczas treningu.</p>



<h2 class="wp-block-heading">Technologie</h2>



<ol class="wp-block-list">
<li><strong>Node.js</strong>
<ul class="wp-block-list">
<li>Framework Express.js do tworzenia aplikacji webowych po stronie serwera.</li>



<li>Działa asynchronicznie, obsługując operacje wejścia/wyjścia w czasie rzeczywistym.</li>
</ul>
</li>



<li><strong>MongoDB</strong>
<ul class="wp-block-list">
<li>Baza danych typu dokumentowego.</li>



<li>Służy do przechowywania informacji o treningach, użytkownikach i potwierdzeniach.</li>
</ul>
</li>



<li><strong>Frontend &#8211; HTML, CSS, JavaScript, Bootstrap, Handlebars</strong>
<ul class="wp-block-list">
<li>Umożliwiają tworzenie responsywnych i atrakcyjnych wizualnie interfejsów.</li>



<li>Handlebars jako silnik szablonów ułatwia generowanie dynamicznych stron.</li>
</ul>
</li>



<li><strong>AWS EC2</strong>
<ul class="wp-block-list">
<li>Całość hostowana na platformie AWS EC2, zapewniającej skalowalność i niezawodność.</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading">Funkcjonalności</h2>



<h3 class="wp-block-heading">Rejestracja i Logowanie</h3>



<ul class="wp-block-list">
<li><strong>Rejestracja użytkowników</strong>
<ul class="wp-block-list">
<li>Użytkownicy mogą zarejestrować się, dostarczając niezbędne informacje.</li>
</ul>
</li>



<li><strong>Logowanie do systemu</strong>
<ul class="wp-block-list">
<li>Zabezpiecza dostęp do strefy klienta.</li>



<li>zapisy na treningi możliwe są tylko dla zalogowanych użytkowników, którzy potwierdzili adres email</li>
</ul>
</li>



<li><strong>Resetowanie hasła</strong>
<ul class="wp-block-list">
<li>W razie zgubienia hasła, można podać swój e-mail na który wysyłany jest specjalny link umożliwiający zmianę hasła. Link ważny jest przez określoną ilość czasu</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">Przegląd Treningów</h3>



<ul class="wp-block-list">
<li><strong>Lista dostępnych treningów grupowych i indywidualnych</strong>
<ul class="wp-block-list">
<li>Użytkownicy mogą przeglądać dostępne treningi w systemie.</li>
</ul>
</li>



<li><strong>Szczegóły treningów</strong>
<ul class="wp-block-list">
<li>Informacje o czasie, miejscu, trenerze oraz dostępności miejsc.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Zapisy na Treningi</h3>



<ul class="wp-block-list">
<li><strong>Zapisy na trening grupowy</strong>
<ul class="wp-block-list">
<li>Umożliwia użytkownikom zapisanie się na wybrany trening grupowy.</li>



<li>W razie przekroczenia dostępnych miejsc użytkownik jest wpisywany na listę rezerwowych. Powiadamiany jest o tym stosownym komunikatem, a w przypadku wypadnięcia z listy rezerwowych użytkownik dostaję e-mail z informacją.</li>
</ul>
</li>



<li><strong>Zapisy na trening indywidualny</strong>
<ul class="wp-block-list">
<li>Użytkownicy wybierają typ treningu oraz godzinę, która jest dostępna.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Zarządzanie Treningami przez Administratora</h3>



<ul class="wp-block-list">
<li><strong>Dodawanie treningów do bazy danych</strong>
<ul class="wp-block-list">
<li>Administrator (trener) dodaje treningi, określając ich parametry.</li>
</ul>
</li>



<li><strong>Określanie dostępności do treningów indywidualnych</strong>
<ul class="wp-block-list">
<li>Trener określa, kiedy jest dostępny do treningów indywidualnych.</li>
</ul>
</li>



<li><strong>Potwierdzanie treningów indywidualnych</strong>
<ul class="wp-block-list">
<li>Administrator potwierdza treningi indywidualne, wysyłając stosowne powiadomienie e-mailowe.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Powiadomienia i Komunikaty E-mail</h3>



<ul class="wp-block-list">
<li><strong>Powiadomienia o potwierdzonych treningach indywidualnych</strong>
<ul class="wp-block-list">
<li>Zawodnicy otrzymują powiadomienia e-mailowe po potwierdzeniu treningu indywidualnego.</li>
</ul>
</li>



<li><strong>Komunikaty o odwołaniu treningu.</strong>
<ul class="wp-block-list">
<li>Użytkownicy otrzymują powiadomienia o odwołanych treningach.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Interfejs Użytkownika</h3>



<ul class="wp-block-list">
<li><strong>Responsywny interfejs użytkownika</strong>
<ul class="wp-block-list">
<li>Dostosowany do różnych urządzeń, zapewniający komfortowe korzystanie.</li>
</ul>
</li>



<li><strong>Intuicyjny formularz zapisu na trening</strong>
<ul class="wp-block-list">
<li>Użytkownik łatwo i szybko może dokonać wyboru treningu i potwierdzić zapis.</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p class="wp-block-paragraph">Projekt Systemu Elite-Fighters: Strefa Klienta dostarcza kompleksowe narzędzie do zarządzania treningami w sposób elastyczny i łatwy w użyciu. Wykorzystanie technologii Node.js, MongoDB i frameworka Express.js zapewnia skalowalność i efektywność działania systemu.</p>



<p class="wp-block-paragraph">Oprogramowanie jest gotowe do dalszego rozwijania, umożliwiając dostosowanie do specyficznych potrzeb klienta. Dodatkowo, interfejs użytkownika wsparty technologiami HTML, CSS, JavaScript, Bootstrap i Handlebars gwarantuje przyjazne i atrakcyjne doświadczenie dla użytkowników.</p>



<p class="wp-block-paragraph">Ostateczna wersja systemu została przetestowana pod kątem wydajności i bezpieczeństwa, co pozwala stwierdzić, że spełnia ona założone cele i oczekiwania użytkowników. System jest w dalszym ciągu rozwijany. </p>
<p>Artykuł <a href="https://www.nethouse.tech/project/strefa-klienta-elite-fighters/">Strefa klienta Elite-Fighters</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nethouse.tech/project/strefa-klienta-elite-fighters/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Oprogramowanie do precyzyjnego lokalizowania położenia obiektów</title>
		<link>https://www.nethouse.tech/project/oprogramowanie-do-precyzyjnego-lokalizowania-polozenia-obiektow/</link>
					<comments>https://www.nethouse.tech/project/oprogramowanie-do-precyzyjnego-lokalizowania-polozenia-obiektow/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 01 Dec 2023 10:01:00 +0000</pubDate>
				<guid isPermaLink="false">https://www.nethouse.tech/?post_type=project&#038;p=1118</guid>

					<description><![CDATA[<p>Streszczenie Przedstawiam mój projekt &#8211; oprogramowanie do precyzyjnego lokalizowania położenia obiektów, który opracowałem w ramach mojej pracy inżynierskiej. Przeprowadziłem badania zarówno w warunkach idealnych, jak i rzeczywistych, wykorzystując trzy metody obliczeniowe: trilaterację, LBP (linear back projection) i ILBP (iterative linear back projection). Oprogramowanie napisałem w node.js jako aplikację serwerową obsługującą zapytania HTTP zgodnie z zasadami [&#8230;]</p>
<p>Artykuł <a href="https://www.nethouse.tech/project/oprogramowanie-do-precyzyjnego-lokalizowania-polozenia-obiektow/">Oprogramowanie do precyzyjnego lokalizowania położenia obiektów</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Streszczenie</h2>



<p class="wp-block-paragraph">Przedstawiam mój projekt &#8211; oprogramowanie do precyzyjnego lokalizowania położenia obiektów, który opracowałem w ramach mojej pracy inżynierskiej. Przeprowadziłem badania zarówno w warunkach idealnych, jak i rzeczywistych, wykorzystując trzy metody obliczeniowe: trilaterację, LBP (linear back projection) i ILBP (iterative linear back projection). Oprogramowanie napisałem w node.js jako aplikację serwerową obsługującą zapytania HTTP zgodnie z zasadami REST.</p>



<h2 class="wp-block-heading">Podstawy zastosowanej metody obliczeniowej</h2>



<ol class="wp-block-list">
<li><strong>Metoda trilateracji</strong>
<ul class="wp-block-list">
<li>Wykorzystuje pomiar odległości od co najmniej trzech punktów do określenia położenia obiektu.</li>



<li>Powszechnie stosowana w geodezji, nawigacji, kartografii oraz lokalizacji w systemach GPS i sieciach bezprzewodowych.</li>



<li>Implementacja oparta na algorytmie dostępnym na licencji MIT [38].</li>
</ul>
</li>



<li><strong>Metoda liniowej projekcji wstecznej LBP</strong>
<ul class="wp-block-list">
<li>Popularna metoda rekonstrukcji obrazów z danych projekcyjnych.</li>



<li>Stosowana w systemach lokalizacji obiektów, umożliwiając dokładną rekonstrukcję trójwymiarowych obrazów.</li>



<li>Stosowana np. w medycynie w tomografii komputerowej</li>



<li>Realizacja poprzez własny algorytm napisany w języku C++.</li>
</ul>
</li>



<li><strong>Metoda iteracyjnej liniowej projekcji zwrotnej ILBP</strong>
<ul class="wp-block-list">
<li>Ulepszona wersja LBP, umożliwiająca dokładniejszą rekonstrukcję obrazów z danych projekcyjnych.</li>



<li>Przydatna w systemach lokalizacji obiektów, szczególnie tam, gdzie wymagana jest precyzja.</li>



<li>Stosowana np. w medycynie w tomografii komputerowej</li>



<li>Implementacja oparta na własnym algorytmie napisanym w języku C++.</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading">Technologie wykorzystane w programie</h2>



<ol class="wp-block-list">
<li><strong>Node.js</strong>
<ul class="wp-block-list">
<li>Framework oparty na JavaScript do tworzenia aplikacji webowych po stronie serwera.</li>



<li>Działa asynchronicznie, obsługując operacje wejścia/wyjścia w czasie rzeczywistym.</li>
</ul>
</li>



<li><strong>Technologie frontendowe</strong>
<ul class="wp-block-list">
<li>HTML, CSS, JavaScript oraz framework Bootstrap.</li>



<li>Ułatwiają tworzenie responsywnych i atrakcyjnych wizualnie interfejsów.</li>
</ul>
</li>



<li><strong>Baza danych MongoDB</strong>
<ul class="wp-block-list">
<li>Nierelacyjna baza danych typu dokumentowego.</li>



<li>Elastyczna, skalowalna, wykorzystywana do przechowywania danych użytkowników i projektów.</li>
</ul>
</li>



<li><strong>Urządzenia zewnętrzne &#8211; System BLEO</strong>
<ul class="wp-block-list">
<li>Wykorzystywany do testowania oprogramowania.</li>



<li>Opiera się na technologii Bluetooth do lokalizacji obiektów wewnątrz pomieszczeń.</li>



<li>Połączenie z czujnikami poprzez wpisanie odpowiedniego adresu IP w programie.</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading">Program</h2>



<p class="wp-block-paragraph">Oprogramowanie działa jako aplikacja internetowa, dostępna po wpisaniu odpowiedniego adresu URL. Po zalogowaniu użytkownik może tworzyć projekty, zarządzać nimi i dokonywać pomiarów online lub offline.</p>



<h3 class="wp-block-heading">Tworzenie projektu</h3>



<ol class="wp-block-list">
<li><strong>Określenie wymiarów pomieszczenia i stworzenie pola na mapie.</strong>
<ul class="wp-block-list">
<li>Definiowanie wymiarów obszaru lokalizacji.</li>



<li>Tworzenie graficznej reprezentacji pomieszczenia.</li>
</ul>
</li>



<li><strong>Oznaczanie położenia skanerów, zdefiniowanie parametrów.</strong>
<ul class="wp-block-list">
<li>Wskazywanie lokalizacji czujników i określanie ich właściwości.</li>



<li>Konfiguracja parametrów pomiarowych.</li>
</ul>
</li>



<li><strong>Zapisanie modelu w bazie danych lub na dysku.</strong>
<ul class="wp-block-list">
<li>Możliwość zapisania stworzonego modelu w bazie danych MongoDB lub na lokalnym dysku.</li>
</ul>
</li>
</ol>



<h3 class="wp-block-heading">Pomiary &#8211; Strona edycji</h3>



<ol class="wp-block-list">
<li><strong>Edycja modelu, zmiana położenia ścian, czujników.</strong>
<ul class="wp-block-list">
<li>Modyfikacja parametrów projektu na podstawie rzeczywistych danych.</li>



<li>Aktualizacja modelu pomieszczenia.</li>
</ul>
</li>



<li><strong>Wybór metody obliczeniowej (trilateracja, LBP, ILBP) lub własnego pliku .exe.</strong>
<ul class="wp-block-list">
<li>Możliwość wyboru preferowanej metody obliczeniowej dla danego pomiaru.</li>



<li>Implementacja własnej metody obliczeniowej poprzez plik .exe.</li>
</ul>
</li>



<li><strong>Pomiar online lub offline, analiza wyników.</strong>
<ul class="wp-block-list">
<li>Realizacja pomiarów w czasie rzeczywistym lub na podstawie wcześniej zapisanych danych.</li>



<li>Analiza wyników pomiarów i generowanie raportów.</li>
</ul>
</li>
</ol>



<h3 class="wp-block-heading">Pozostałe funkcjonalności</h3>



<ul class="wp-block-list">
<li><strong>Rejestracja i logowanie użytkowników z wykorzystaniem tokena JWT.</strong>
<ul class="wp-block-list">
<li>Zabezpieczenie dostępu do aplikacji i danych użytkowników.</li>
</ul>
</li>



<li><strong>Lista stworzonych modeli, możliwość eksportu i importu.</strong>
<ul class="wp-block-list">
<li>Przeglądanie i zarządzanie utworzonymi modelami pomieszczeń.</li>



<li>Import i eksport projektów w celu łatwiejszego udostępniania.</li>
</ul>
</li>



<li><strong>Implementacja systemu komunikatów i powiadomień.</strong>
<ul class="wp-block-list">
<li>Informowanie użytkowników o ważnych zdarzeniach w systemie.</li>



<li>Powiadomienia dotyczące nowych pomiarów, zmian w projektach itp.</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading">Testowanie</h2>



<p class="wp-block-paragraph">Przeprowadziłem testy oprogramowania w warunkach laboratoryjnych oraz w rzeczywistych pomieszczeniach o zróżnicowanej konfiguracji przestrzennej. Wyniki były zgodne z oczekiwaniami, potwierdzając skuteczność metody trilateracji i dokładność metod LBP oraz ILBP.</p>



<h2 class="wp-block-heading">Wnioski</h2>



<p class="wp-block-paragraph">Opracowane przeze mnie oprogramowanie stanowi efektywną i elastyczną platformę do lokalizacji obiektów. Jego modułowość pozwala na łatwe dostosowanie do różnych potrzeb użytkowników. Wprowadzenie możliwości wgrywania własnych metod obliczeniowych dodatkowo zwiększa potencjał programu.</p>



<p class="wp-block-paragraph">W trakcie prac nad projektem korzystałem z konsultacji mojego promotora, co znacząco przyspieszyło rozwój aplikacji. Otrzymana wiedza była kluczowa dla sukcesu pracy. Mam nadzieję, że moje oprogramowanie znajdzie zastosowanie w praktyce i przyczyni się do rozwinięcia dziedziny lokalizacji obiektów.</p>
<p>Artykuł <a href="https://www.nethouse.tech/project/oprogramowanie-do-precyzyjnego-lokalizowania-polozenia-obiektow/">Oprogramowanie do precyzyjnego lokalizowania położenia obiektów</a> pochodzi z serwisu <a href="https://www.nethouse.tech">Nethouse</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nethouse.tech/project/oprogramowanie-do-precyzyjnego-lokalizowania-polozenia-obiektow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
