[{"data":1,"prerenderedAt":120},["ShallowReactive",2],{"project-\u002Fpl\u002Fprojekty\u002F2026\u002Fe-cargo":3,"project-posts-\u002Fpl\u002Fprojekty\u002F2026\u002Fe-cargo":119},{"id":4,"title":5,"agency":6,"body":7,"compare":46,"cover":47,"date":52,"description":53,"draft":54,"extension":55,"facts":56,"featured":54,"gallery":70,"galleryLead":90,"highlights":91,"image":104,"links":46,"meta":105,"navigation":106,"note":107,"ogImage":108,"path":109,"seo":110,"stack":111,"stem":115,"tags":116,"__hash__":118},"projects_pl\u002Fpl\u002Fprojekty\u002F2026\u002Fe-cargo\u002Findex.md","e-cargo","Pesi",{"type":8,"value":9,"toc":41},"minimark",[10,14,19],[11,12,13],"p",{},"e-cargo to platforma dla ośrodków szkolenia kierowców zawodowych: kursy online dla kursantów, harmonogram zajęć z instruktorami, pojazdami i salami oraz dokumenty. Pracowałem nad nią w zespole Pesi – główna część, do wydania na produkcję, trwała od grudnia 2025 do lipca 2026. W Vue 3 i Inertia zbudowałem dużą część widoków i komponenty, z których korzysta cały zespół. Najbardziej jestem zadowolony z biblioteki komponentów – tworzyłem ją od zera. Każdy nowy element projektowałem trochę dłużej, żeby przewidzieć, co może przestać działać. Przekonałem też grafika, żeby projekt opierał się na powtarzalnych elementach. Wyszedł z tego fajny produkt 🙂",[15,16,18],"h2",{"id":17},"najważniejsze-cechy","Najważniejsze cechy",[20,21,22,26,29,32,35,38],"ul",{},[23,24,25],"li",{},"Biblioteka komponentów dla całego zespołu – pola formularzy, własny wybór daty i godziny, okna, tabele, podpowiedzi i ponad 170 ikon",[23,27,28],{},"Harmonogram zajęć dla instruktorów, pojazdów i sal – rezerwacja przeciąganiem po osi czasu i ostrzeżenia o kolizjach",[23,30,31],{},"Panel instruktora – dostępność stała i jednorazowa, nieobecności i rezerwacje, także na telefonie",[23,33,34],{},"Kreator szkoleń – struktura kursu w drzewku, biblioteka gotowych modułów i slajdów, wersje językowe",[23,36,37],{},"Kurs dla kursanta – slajdy z nagraniami audio, notatki, testy z wyjaśnieniami i podsumowanie modułu",[23,39,40],{},"Pulpity ośrodka i administratora oraz ukrywanie danych osobowych jednym przełącznikiem",{"title":42,"searchDepth":43,"depth":43,"links":44},"",2,[45],{"id":17,"depth":43,"text":18},null,{"desktop":48,"width":49,"height":50,"alt":51},"\u002Fprojects\u002F2026\u002Fe-cargo\u002Fschedule.webp",1440,1042,"e-cargo – harmonogram zajęć z pojazdami w kolumnach","2026-08-01","Platforma szkoleń dla ośrodków szkolenia kierowców – zbudowałem dużą część front-endu: harmonogram, panel instruktora, kreator kursów i komponenty UI.",false,"md",[57,61,64,67],{"value":58,"suffix":59,"text":60},"8"," mies.","główna część projektu – od grudnia 2025 do wydania w lipcu 2026",{"value":62,"text":63},"32","komponenty UI, z których korzysta cały zespół – pola, okna, tabele, podpowiedzi",{"value":65,"text":66},"171","ikon jako komponenty Vue – jeden zestaw w całej aplikacji",{"value":68,"text":69},"4","role użytkowników – administrator, ośrodek, instruktor i kursant – w każdym panelu moje widoki",[71,74,78,82,86],{"src":48,"width":49,"height":50,"alt":72,"caption":73},"Harmonogram zajęć","Harmonogram – dzień z pojazdami w kolumnach, kolizje oznaczone na czerwono, nowa rezerwacja przeciąganiem po osi czasu",{"src":75,"width":49,"height":50,"alt":76,"caption":77},"\u002Fprojects\u002F2026\u002Fe-cargo\u002Ftraining-centre-dashboard.webp","Pulpit ośrodka","Pulpit ośrodka – szybkie akcje, ostatnio rozpoczęte szkolenia, urlopy, ubezpieczenia pojazdów i niedyspozycje",{"src":79,"width":49,"height":50,"alt":80,"caption":81},"\u002Fprojects\u002F2026\u002Fe-cargo\u002Finstructor-availability.webp","Dostępność instruktora","Dostępność instruktora – stały grafik tygodnia, niestandardowe godziny, urlopy i kalendarz miesiąca",{"src":83,"width":49,"height":50,"alt":84,"caption":85},"\u002Fprojects\u002F2026\u002Fe-cargo\u002Ftest-editor.webp","Edytor testu","Edytor testu – pytania z wyjaśnieniami odpowiedzi, próg zdawalności i losowanie pytań",{"src":87,"width":49,"height":50,"alt":88,"caption":89},"\u002Fprojects\u002F2026\u002Fe-cargo\u002Fquestion-editor.webp","Edycja pytania","Edycja pytania – treść, odpowiedzi, wyjaśnienie i przypisany slajd z nagraniem audio","Zrzuty z aplikacji ze zmyślonymi danymi – kliknij zrzut, żeby go powiększyć.",[92,95,98,101],{"title":93,"text":94},"Własny wybór daty i godziny","Jedno pole na datę, datę z godziną albo samą godzinę – z widokiem dni, miesięcy i lat, granicami min\u002Fmax i formatem „10 cze 2026”. Zastąpiło zwykłe pola daty w kolejnych widokach.",{"title":96,"text":97},"Zaznaczanie na osi czasu","Wspólna logika dla harmonogramu ośrodka, instruktora i profilu kursanta – krok 15 minut, a na dotyku przytrzymanie 400 ms i tolerancja ruchu, żeby przewijanie nie tworzyło przypadkiem rezerwacji.",{"title":99,"text":100},"Podpowiedź tylko przy uciętym tekście","Gdy nazwa nie mieści się w polu i kończy wielokropkiem, po najechaniu widać pełną treść – a gdy się mieści, podpowiedzi nie ma. Działa też w polach wyboru (select), gdzie zwykłe porównanie szerokości zawodzi – tekst mierzę w ukrytym elemencie z tą samą czcionką.",{"title":102,"text":103},"Okienka, które nie wychodzą za ekran","Podpowiedzi, menu i listy wyboru same wybierają stronę, po której się otworzą, i trzymają odstęp od krawędzi – także przy przewijaniu strony.","\u002Fprojects\u002F2026\u002Fe-cargo\u002Fdashboard.webp",{},true,"Aplikacja firmowa (Pesi) bez publicznego dostępu – na zrzutach zmyślone dane.","\u002Fog\u002Fprojects\u002Fe-cargo-pl.jpg","\u002Fpl\u002Fprojekty\u002F2026\u002Fe-cargo",{"title":5,"description":53},[112,113,114],"Vue 3","Inertia","Tailwind CSS","pl\u002Fprojekty\u002F2026\u002Fe-cargo\u002Findex",[117],"vue","44zNHLxt-Krd31R6Zq-VUIg3I1R0m11zy4y73hM-eAQ",[],1792530551507]