Zarządzanie uprawnieniami w aplikacji Laravel? Wystarczy 2 minuty – z pomocą Claude 3.7 i Windsurf

Zarządzanie uprawnieniami w aplikacji Laravel? Wystarczy 2 minuty – z pomocą Claude 3.7 i Windsurf

Budując aplikację dla klienta uznałem, że fajnie byłoby móc w niej zarządzać tym jakie uprawnienia mają poszczególne role. Poprosiłem więc ładnie: bazując na obecnym modelu uprawnień i ról dopisz mi stronę dostępną tylko dla administratora na której będzie grid z uprawnieniami (wiersze) i rolami (kolumny). Na przecięciu ma być możliwość zaznaczenia checkboxa. Domyślnie zaznaczone mają być checkboxy tam gdzie dana rola ma jakieś uprawnienie. Pod tabelą ma być zapis zmian – powodujący ustawienie (zapisanie do bazy) na nowo uprawnień poszczególnych ról – zgodnie z zaznaczonymi checkboxami. Nowy widok powinien być dostępny z linka w menu osobistym ale tylko dla roli admin Po dwóch minutach dostałem gotowy widok, który w dodatku działał… wiem, że to jest w zasadzie norma, ale nadal nie przestaje mnie to zadziwiać :). Jeśli chcesz zobaczyć jak to się dzieje (niemal na żywo) to sprawdź mój poprzedni wpis i film na YouTube. (Dla dociekliwych – Laravel 11, Breeze, spatie/laravel-permission, Windsurf, Claude 3.7 Sonnet thinking) A Ciebie, czym zaskoczył ostatnio twój AI-owy pomocnik?

Czy z Claude AI i Windsurf można zbudować skomplikowaną aplikację web nie potrafiąc programować?

Czy z Claude AI i Windsurf można zbudować skomplikowaną aplikację web nie potrafiąc programować?

Dziś coś dla niedowiarków! Na konkretnym przykładzie z pracy nad aplikacją dla klienta pokażę Wam jak ja – patodeweloper i nie-programista – buduję kod z pomocą AI. Oto film, na którym w 10 minut pokazuję cały proces rozbudowy aplikacji w PHP (Laravel) o jedną konkretną funkcję. Mógłbym takich filmów nagrać więcej bo moja walka z budową tej konkretnej aplikacji trwa już ponad 100 godzin*. Ale kod sam się (wbrew pozorom) nie napisze. Idę więc dalej poganiać i pilnować mojego kumpla Kloda a was zostawiam z seansem. * – W tym czasie udało mi się zbudować aplikację, która nie jest listą zadań czy saperem a pełnoprawnym systemem dla klienta. Posiada on bazę danych, system logowania, użytkowników, ról i uprawnień, wiele różnorodnych ekranów, widoków i formularzy, a także operacje na plikach i zaawansowanych strukturach danych. Mamy też załączniki i generowanie skomplikowanych PDF i Word zawierających wiele tabel i zdjęć.

Zaczarowany ołówek budujący aplikacje biznesowe (sort of)

Windsurf w praktyce – pierwsze dni pracy nad aplikacją dla klienta

Zapraszam na kolejny wpis z serii pisanej w duchu #buildinpublic. Dziś opowiem o tym co osiągnąłem ze pomocą Windsurf przez pierwsze kilka dni pracy nad aplikacją, o której pisałem w poprzednim wpisie. TL;DR; Piszę dla klienta pełnoprawną aplikację mimo, że nie jestem zawodowym programistą. Wnosi ona realną wartość – obniża koszty, przyspiesza procesy. Jeszcze 3 miesiące temu byłoby to niemożliwe i prawie zrezygnowałem tego projektu (miałem go zlecić na rynek). Na szczęście byłem uparty, pilnie się uczyłem i… pojawił się Windsurf. Teraz każdy wieczór przynosi mi masę frajdy. Czuję się jak posiadacz zaczarowanego ołówka. Fakt – trzeba umieć trochę rysować, mieć dużo cierpliwości i pustych kartek. Czasem przydaje się też magiczna gumka, czyli Git. Wszystko to jednak nie przeszkadza mi robić postępy dla mnie wcześniej nieosiągalne. Trudne początki z Claude Dev/Cline, Cursor, Windsurf W poprzednim wpisie opisałem jak wyglądały pierwsze tygodnie, w których (natchniony nagraniami AiCodeKing’a) próbowałem używać wielu narzędzi AI nie mając zbyt dużego pojęcia o architekturze Laravel i o zaawansowanej składni PHP. Skończyło się to… głęboką frustracją. Uznałem w pewnym momencie, że AI jest jeszcze za głupie i nie ma szans abym zdołał to napisać! Na szczęście założyłem wtedy (słusznie!), że to ja jestem za głupi. Zabrałem się za oglądanie kursów na Udemy i Laracasts (są opisane w tej notce). Kilka dni spędziłem w normalnym VS Code (bez wtyczek do AI) i pracowałem nad zdobyciem solidnych podstaw – czyli zrozumieniu jak działa Laravel. Po tych kursach wiedziałem, że Laravel jest super i potrafię w nim napisać proste rzeczy….

Jak szybko zrozumieć Laravel? Tydzień pierwszy z programowaniem wspieranym AI #buildinpublic

Jak szybko zrozumieć Laravel? Tydzień pierwszy z programowaniem wspieranym AI #buildinpublic

Zapraszam na kolejny wpis z serii o budowaniu systemu w duchu buildinpublic. Dziś będzie jak na kolejce górskiej – optymizm, kompletna porażka i szczęśliwy finał. Przy okazji zdradzę jak i dlaczego poznałem podstawy Laravel w 3-4 wieczory. Może zastanawiasz się, na ile realne jest tworzenie aplikacji z pomocą edytorów AI takich jak Windsurf czy Cursor – bez umiejętności programowania? Poniżej opiszę Ci moje doświadczenia w tym temacie, po pierwszym tygodniu pracy. Co ważne – mówimy pracy nad o realnym, nietrywialnym projekcie. Nie jest to kolejna lista to-do czy saper tylko pełnoprawny system dla klienta. TL;DR; (spoiler!) Na dziś (a jestem po 3 tygodniach pracy) nie bardzo wyobrażam sobie napisać z AI tego typu systemu nie mając podstawowej wiedzy technicznej i o stosie technologicznym w jakim budujemy. Kontekst biznesowy i aplikacja do napisania W sumie to jest najmniej ważne. Twój przypadek będzie zupełnie inny, dlatego znajdziesz te informacje w zupełnie innym wpisie (link wkrótce). Na teraz wystarczy wiedzieć, że system ten: Moje doświadczenie w budowaniu aplikacji (czyli – czy ten wpis jest dla Ciebie?) Czy umiem programować? Na podstawowym poziomie – tak. Znam koncepcje używane w programowaniu – takie jak struktury danych, pętle, warunki, funkcje czy obiekty. Zdarzało mi się poprawiać kod w PHP, pisać proste narzędzia konsolowe w Java czy dłubać coś w Bashu. Rok temu, wspierając się ChatGPT, przygotowałem też spory migrator danych z json do PostgreSQL w Pythonie. Czy budowałem już takie systemy? Tak, ale nie jako programista. Dla tego konkretnego klienta zbudowałem bardzo podobny system za pomocą…

Od zera do (pato)developera – #buildinpublic

Od zera do (pato)developera – #buildinpublic

Witajcie w 2025 roku! Poniższy wpis jest z pierwszym z serii, w której chciałbym pokazać losy budowy mojego najnowszego projektu – aplikacji zaspokajającej realną potrzebę klienta i dającą wymierną biznesową wartość. Będę go (w miarę możliwości) opisywał z wielu różnych perspektyw, tak aby pokazać jak dziś wygląda mój proces budowy rozwiązań oraz jakich narzędzi i umiejętności używam w swojej codziennej pracy. Spis treści wpisów z tej serii Skąd ten tytuł? Bo chodzi o zlecenie, w którym absolutnie wszystko chcę zrobić samodzielnie, włącznie z programowaniem. Będzie to mój pierwszy tak zaawansowany projekt, do którego nie biorę developera i sam nim będę (albo umrę próbując). A ponieważ nie jestem profesjonalnym programistą, będę wspierał się (bardzo mocno) AI, w tym edytorem Windsurf (chyba że w trakcie projektu pojawi się lepszy). Mogę więc podejrzewać, że kod aplikacji nie będzie ani optymalny ani zgodny z najlepszymi praktykami. Ktoś kiedyś pewnie załamie się patrząc w bebechy tego systemu. W tej sytuacji, z szacunku dla prawdziwych programistów, ogłaszam się (na ten moment) patodeveloperem, impostorem, fejkiem. W sumie to mam z tej okazji idealnie nazwany kawałek od TX2 – https://www.youtube.com/watch?v=keegsPt1jCU Czy pod koniec projektu zmienię o sobie zdanie? Czy dla klienta będzie to miało znaczenie? Czy to etyczne? O tym też będzie ta seria. A komu to potrzebne? Trochę mi samemu. Bardzo podobają mi się inicjatywy publicznego budowania produktów (przykłady na Twitterze/X pod tagiem #buildinpublic), więc postaram się do nich nawiązać. Ale może również Tobie? Liczę na to, że wyniesiesz z tych wpisów coś dla siebie, zainspirujesz się…

Ucz się robiąc, Rób się ucząc

Ucz się robiąc, Rób się ucząc

Nie, w tym tytule nie ma błędu. Postaram się wytłumaczyć i namówić Cię do nauki przez działanie oraz uczenie innych. Pokażę też, że w moim wypadku zadziałało to jak „kompetencyjna katapulta”, która w krótkim czasie może zmienić zawodowe losy. Ucz się robiąc… Brzmi to jak banał – przez praktykę do doskonałości. Jenak chcę Cię zachęcić do pójścia o krok dalej – podejmuj zadania, które są (jeszcze) poza Twoimi możliwościami. Szczególnie dziś, kiedy masz do dyspozycji tak ogromne wsparcie w postaci tanich materiałów szkoleniowych i AI. Wiele razy podejmowałem się zleceń mając tylko blade pojęcie o tym jak je de facto wykonać. Przykłady? Mógłbym tak wymieniać jeszcze długo. Jednak ostatnie zlecenie (szkolenia) to punkt dość szczególny, bo prowadzi mnie do drugiej części tytułu, czyli… …Rób się ucząc! Trudniej będzie wyjaśnić o co chodzi. Ale od początku. Realizując zlecenia nagrywania kursów o Airtable, N8N i Retool odkryłem, że opracowanie: spowodowało gigantyczne usystematyzowanie tej wiedzy w mojej głowie. Dzięki temu praca z wymienionymi aplikacjami zajmuje mi teraz znacznie mniej czasu, robię w nich znacznie bardziej skomplikowane rzeczy. Można powiedzieć, że nauka innych „Zrobiła ze mnie” kogoś, kto potrafi znacznie więcej niż kiedyś, kiedy „tylko” robiłem dla innych. Zadziałało to jak katapulta dla moich kompetencji. Teraz już rozumiesz skąd tytuł „Rób się ucząc”? Może nie jest to idealnie po polsku, ale ucząc innych możesz „zbudować w sobie” jeszcze lepsze zrozumienie już posiadanej wiedzy. Jak to się dzieje? Jeśli uczysz się lub robisz coś dla siebie (a nawet dla klienta) to pomijasz nieistotne aspekty. Często…

Prosty CRM w Laravel w 90 minut?

Prosty CRM w Laravel w 90 minut?

Jeśli szukasz fajnego przykładu na do nauki podstaw Laravela to warto rzucić okiem na ten tutorial nagrany przez Povilas’a Korop’a. Nie jest to materiał dla całkiem zielonych, warto mieć minimalne podstawy (na przykład z tego kursu). Autor pewne drobnostki pomija, więc łatwo się zgubić. Jednak jak na całkiem darmowy mini-kurs jest tu naprawdę sporo „mięcha”. Szacun panie Korop! Skąd ten wpis? Aktualnie jestem na przyspieszonym kursie Laravela. Sam się na niego wysłałem, decydując, że następny projekt dla klienta nie będzie oparty o Retool a o klasyczny stos technologiczny. Chciałem zobaczyć czy dam radę zbudować coś mniej narażonego na vendor-lock, a przy okazji nauczyć się programowania (co było moim marzeniem od dawna). Ten tutorial, wiedza z kilku godzin kursów na Udemy, oraz (mocne) wsparcie edytora Windsurf, pozwolił mi zrobić w kilka godzin aplikację z 2 rolami (user/admin) i prostymi CRUD’ami dla użytkowników, klientów i protokołów z przeglądów budowalnych (o tym jest ta apka). Coraz więcej rozumiem z tego co robię a krzywa uczenia się drastycznie spadła dzięki wsparciu AI. Uważajcie, bo to wciąga!