W tym materiale pokazuję proces tworzenia narzędzia do automatycznej analizy pull requestów. Skupiam się na integracji z GitHub API, optymalizacji promptów dla Claude oraz implementacji interfejsu użytkownika z animacjami ładowania.
Chapters
00:00
Introduction
Overview of the project progress and current step status.
00:41
Code Review
00:51
API Integration Planning
04:16
Prompt Engineering
13:40
Dashboard UI Development
19:18
Testing and Merging
42:10
Refining Results
01:03:45
Final Review
Transcript
Copy
00:00
Hej, kontynuuję z zadaniem.
00:02
Jestem aktualnie na stepie czwartym, który właśnie skończyłem.
00:07
Działam według planu, który sobie wygenerowałem na samym początku ze stepami do walidacji i potencjalnymi problemami na każdym z tych stepów.
00:17
Step czwarty jest zrobiony.
00:20
Strona wygląda aktualnie w taki sposób.
00:22
Tu jeszcze mockowe grafiki, ale to później po dashboardzie będziemy dodawać.
00:27
Jest pull request gotowy, przeszły mi wszystkie checki, ale przed chwilą właśnie puściłem jeszcze skilla do code review, który właśnie przygotował mi code review.
00:41
Więc to sprawdzimy teraz i go puścimy, a później przejdziemy do pracy nad stepem piątym.
00:51
czyli po prostu API z GitHub API i Cloudem do analizy pull requestów.
01:03
Spryfikuję sobie to najpierw.
01:10
OK.
01:14
OK.
01:29
ok to też ok ale to mało ważne to powiemy mu fix all but not ten ok ok To też nie potrzeba naprawiać bo to dobrze wygląda.
02:41
To było.
03:05
ok ok ok ok możemy dodać Ok, tak, to chodzi o to, że mamy prototyp wygenerowany na samym początku, jakby już analiza tam na mąkowych danych działa Ale to jest mało ważne, ale możemy dodać komentarz Dobra, puścimy to, zaraz on mi będzie zapytał z powrotem I teraz przechodzimy do stepu piątego, zaczniemy sobie budować prompta Tak, ty ty ty Ok.
04:16
Github.
04:30
Już w cloud.
04:40
You need to update our prototype.
04:51
Dobra.
05:03
Please.
05:06
Tak, pierwszy problem jaki mamy to musimy pobierać pull requesty które są zamknięte ale możemy np.
05:15
mieć pull requesty zamkniętych które nie są nie zostały zmergeowane do kodu i takich w sumie nie chcemy analizować bo jest to bez sensu więc więc na razie zrobimy coś takiego że właśnie tak jak tutaj jest to napisane Zrobimy tak, że pobierzemy sobie 30.
05:47
Będziemy liczyć na to, że po prostu w tych 30 większość będzie zmerczowanych i sobie je po prostu odfiltrujemy.
05:56
A będziemy tak naprawdę analizować tylko 20, żeby zmieścić się w czasie żeby zmieścić się w czasie żeby się zmieścić w 60-tym czasie timeoutu wersela ale też wymagając zadania było wspomniane Maksymalnie trwa to 60 sekund.
06:35
Później to przetestujemy, to może tą liczbę zmienimy na większą lub mniejszą, jeżeli będzie z tym problem.
06:52
Tak, for each query we need to, musimy pobrać dane, tak jak tu jest to napisane właśnie.
07:02
Ale musimy też pobrać, myślałem właśnie też żeby pobrać dodatkowo forEach, we are also fetch commit names and send them to backend, to cloud Chciałbym pokazać też komity, bo w komitach też może coś będzie ciekawego do analizy.
07:42
Dobra, to dokładnie to, co tu mam napisane.
07:54
Tak, to...
08:05
A tu mi dostało to puścimy.
08:07
Przygotował plan.
08:10
Tutaj go puścimy żeby leciał.
08:14
Tak.
08:19
Model.
08:28
Tak, chcemy tak zrobić.
08:30
Wcześniej myślałem, że zrobię to pojedynczo, ale to może być za długo trwać, więc spróbujemy to zrobić w taki sposób, jak on tutaj zaproponował.
08:39
To sobie też skopiujemy na chwilowe stąd, żeby od czegoś zacząć.
08:46
Zoda też chcemy użyć, żeby zwalidować JSON schemat.
08:59
Tak właśnie, jeżeli schemat, który z odmii zwróci nie będzie odpowiedni to wtedy spróbujemy to jeszcze raz zadać pytanie.
09:09
Pytanie czy wtedy też zmieścimy się w time-up'cie czyli z 60 sekundowym do zweryfikowania.
09:19
Tak.
09:23
Scoring weight.
09:32
Myślałem o tym chwilę i w sumie chyba zrobimy, trochę zmienimy to niż jest to opisane w planie.
09:38
Zmienimy to na taki sposób, że damy Impact 20 a AI Leverage i Quality na 40 bo upewniam, że Quality też jest równie ważny co AI Leverage żeby AI po prostu później w późniejszym czasie jak będziemy zmieniać, update'ować, maintain'ować kod to żeby mniej po prostu halucynowało.
10:05
Więc tak to ustawimy na razie.
10:10
I co jest dodatkowe?
10:17
We need to stream events We need to stream events while analyzing.
10:33
I teraz w kontekście prototypy miałem tak, że każdy player był osobno aktualizowany, ale tutaj musimy to zmienić, bo będziemy robić jedno zapytanie do Claude'a.
10:46
I zrobimy tak.
10:49
Stream HowMuchPeerDownloading HowMuchPeerDownloaded Później PeerFiles PeerComments For each peer stream an event and then when starting cloud this stream event analyzing code Ok, i takiego prompta sobie Aha, jeszcze error handling, dokładnie Dobrze, że mam plan Dobra, to też sobie skopiujemy error handling i jeszcze damy też cloud date limit i to też do zweryfikowania czy możemy to osiągnąć wydaje mi się że możemy Cache nie na razie zostawimy.
12:58
Dobra, mamy prompta.
13:00
Więc sobie go puścimy w innej konsoli.
13:06
Tu sobie już wyczyściłem kontekst.
13:08
Run mode.
13:09
Pyk.
13:10
I leci.
13:13
Dobra.
13:14
Tutaj zmiany jeszcze czekają.
13:17
Let me renald the first.
13:18
Czekają.
13:25
Dosyć długo w sumie.
13:27
Dobra, damy jeszcze temu chwilę.
13:29
Podczas jak czekamy na to i na to.
13:33
Zaczniemy sobie chyba działać nad kolejnym PR-em.
13:40
Bo tutaj to będziemy działać, to będzie długo leciało.
13:44
Przejdziemy sobie do dashboardu.
13:47
Czyli teraz powiedzmy zrobimy zrobimy loading z data żeby ładnie wyświetlić żeby ładnie wyświetlić analizę jak czekamy czyli ten ekran to zrobimy chyba tak że na pełen ekran wyświetlimy overlaya i zrobimy jakąś animację pokażemy te elementy plus minus tak i w taki sposób I tutaj myślałem, żeby dodać animację LottieFile, żeby to wizualnie fajnie też wyglądało.
14:30
Więc sobie piszemy na pierwą etal na to.
14:33
A tu leciło, a tu wróciło, to zobaczymy najpierw na to.
14:42
Zostawię kompcję komandę.
14:48
Dobra, to kolejny prąd.
14:53
Zobaczę tylko jak to jest zrobione.
15:22
Ok, to wykorzystamy do prądu.
15:24
Update in result page when is streaming event and its analysis is not ready.
15:44
We want to display all wyświetlenie, że A.I.
15:59
działa.
16:04
Powinno mieć biały background.
16:13
Na górze wkładamy animację.
16:23
Teraz użyjemy grayedit.mocka.
16:34
W połowie powietrza powinno być eventStream.check I chcemy dodać sobie taki overlay żeby jakby te rzeczy nam się scrollowały Jakby na górze i na dole był taki gradient biały, który wyglądał jakby ten progres pojawiał się i znikał.
17:30
Jest taka podobna animacja na Apple jak się wybiera czas.
17:35
But to achieve nice visual effect at place progress streamy w kontainerze pixeli na górze i na dole kontainera w kontainerze absolute jest z white transparent gradient to achieve effect where progress steps shows and disappears jak nie zrozumiem to będziemy to później ręcznie poprawiać when stream FinishesShowOnResultPageJsonResultAsItIsDoneNow Dobra, zobaczymy jak nasze komendy.
19:03
Tu działa dalej, tu myśli dalej.
19:11
Dalej nad planem.
19:15
No to skończyła akurat.
19:18
No to przeanalizujemy to teraz.
19:22
Okej.
19:25
Zobaczymy sobie zmiany.
19:28
Przejdźmy do komita.
19:30
Są nowe zmiany tutaj widoczne.
19:36
To zamkniemy, żeby mieć większy widok.
19:40
Dobra.
19:43
Co tu się zmieniało?
19:46
Dobra to wygląda ok.
19:54
Tu pozmieniało ok to chyba są spoko zmiany to będzie ok.
20:00
I wygenerowała nowe testy bo coś zmieniło dobrze.
20:06
Tu też taki border ok.
20:13
Ok, dobrze, dobra zmiana.
20:17
Ok, opisy wygenerowało, ok, repo.
20:26
Dobra, to wygląda dobrze, zweryfikujemy jak to wygląda na stronie głównej, czy wszystko działa.
20:33
Nie działa.
20:34
To nie result tylko to w zasadzie.
20:44
Tak wygląda w miarę git.
20:47
A rzeczywiście tu był problem.
20:50
To mi zmienił.
20:52
A to nie było tak.
20:54
Nie powinno tak wyglądać.
20:56
Zaraz to dostosujemy.
21:02
Dobra.
21:03
Odpalę sobie testy.
21:04
Jeszcze to zweryfikować.
21:08
Czy jest wszystko ok.
21:11
Nie jest wszystko ok.
21:18
to sobie skomitujemy te zmiany oprócz prompta w sumie coautoredbycloud refactor codereviewbycloud fixes commit wrzucimy mu też to terminal FixedGeneratorProblems Niech akceptuje zmiany.
21:53
Od razu.
21:58
Zobaczymy jak to tutaj.
22:09
C Ok.
22:21
Kontynuuję pracę.
22:25
Ten już zmienił.
22:26
Uruchomimy to jeszcze raz.
22:30
Ok.
22:30
Teraz jest ok.
22:32
Uruchommy jeszcze testy.
22:36
Ok.
22:39
Wrzucimy mu też te testy.
22:52
To są testy, to są chyba proste komponenty, dlatego tak szybko, mało skupiam się na ich czytaniu.
23:02
One powinny szybko poprawić.
23:07
Przygotujemy komendę.
23:10
FIX TEST FIX PRESSURE AND TEST Jeszcze raz je uruchomimy.
23:24
Dobra.
23:26
Zobaczymy na szybko te zmiany.
23:31
No i tu po prostu on przeniósł kod.
23:34
To jest w porządku.
23:36
Snapshot, separator.
23:40
Okej.
23:41
I...
23:43
też.
23:44
Okej, to preter po prostu.
23:47
Zobaczmy jeszcze czy wszystko działa.
23:51
Tak.
23:53
Dobra to komitujemy te zmiany bez prompta.
23:59
Komit i pushujemy teraz na Pit Landing Pitch.
24:03
Push anyway.
24:07
Dobra terminal.
24:11
Dobra mam przygotowany plan do implementacji.
24:14
Dobra to dobrze.
24:19
Zobaczymy tutaj.
24:25
I leci check i leci build, jak to poleci to zmerczujemy sobie to do deva.
24:30
A tutaj już możemy przygotować sobie, po prostu przejdziemy na nowego brancha.
24:38
Bo działamy teraz już nad backend, nad API.
24:46
Czyli sobie zrobimy tak, że wejdziemy.
24:49
Zobaczmy jak długo to trwa.
24:56
żeby nie robić sobie żadnych problemów z kodem to fajnie jakbyśmy to zmerczowali Dobra przeszło to merczujemy od razu Merczujemy, nie squashujemy, confirm merge Usuwamy brancza Dobra i teraz tak, mamy to zrobimy sobie git fetcha żeby zaktualizować projekt Mamy, dobra teraz przejdziemy sobie na OriginDev'a, Checkout.
25:31
SmartCheckout.
25:38
Widzimy i chcemy to wszystko mieć w sumie.
25:43
Tu mamy.
25:47
Dwa noszę, ok, AcceptLeft.
25:51
Jest AcceptLeft.
25:54
Tak, mamy tu nasze wszystkie zmiany, dobrze.
25:58
Jesteśmy na devie, robimy sobie gitpula z devu.
26:07
Aha, to skomentujemy to.
26:13
docs.update.romps.gitpul.dev I teraz robimy sobie rzecz taką, że przychodzimy zrobimy sobie nowego branża mamy to puszczamy gościa żeby działał Chociaż jeszcze w sumie nie sprawdziliśmy.
27:21
Sprawdźmy na szybko co on wymyślił.
27:27
TNG zaraz sobie dodamy.
27:44
Żeby to mieć wszystko.
27:53
OK.
27:58
Yes.
28:24
Ok, to działa.
28:29
Ok.
28:37
Spróbujemy tutaj pół progresu dla PR-ów.
28:43
Może to nakroję jako jedno, co też jest w porządku.
28:46
Zobaczymy jak będzie działać.
28:53
Dobra, puszczamy go.
28:56
Puszczamy go i teraz wracamy do prompta, którego sobie zrobiliśmy przed chwilą.
29:03
Czyli tutaj.
29:06
Ok, to.
29:13
Mogą tu mieć jakieś konflikty, może małe.
29:22
Mogą być konflikty więc zrobimy sobie tak Please create a ResultMockPage and place that overlay component there so I can test it easily later więc sobie to skopiujemy i na drugiej konsolce to sobie puścimy ale wyczyszczymy najpierw kontekst bo tam działaliśmy na starym stepie więc teraz niech zaczniemy od nowa plan i niech leci to będzie sobie działało Więc teraz powinniśmy mieć zdeplojowany kod na Vercelu.
30:28
Tak, mamy, już kod pokazuje.
30:32
Wygląda to ok.
30:33
Więc sobie zweryfikujemy parę rzeczy.
30:37
Bo mamy w planie takie ubezpieczające nas stepy do zweryfikowania.
30:47
Tak, to jest step czwarty.
30:54
I tu mamy All Sections Rendered Correctly yet OK.
31:03
Nie używamy dokładnie tych breakpointów.
31:09
Później jeszcze jak będzie czas będziemy to dostosowywać.
31:13
Ale generalnie Wszystkie sekcje wyglądają raczej dobrze.
31:20
To wygląda tu.
31:25
Nawet na tablecie mogliśmy dodać trochę większe paddingi.
31:29
Bo to wygląda mało.
31:34
Na telefonie.
31:41
Też to wygląda dobrze.
31:46
więc zróbmy tak tracing from firefox safari odpalimy sobie safari żeby to rzeczywiście tam przetestować dobra element No to wygląda słabo, to trzeba poprawić.
32:17
Tutaj wcześniej miałem zrobione tak, że te rzeczy się wrapowały, to nie zauważyłem.
32:25
Cloud Mint to już zmienił przez przypadek.
32:30
Dobra, ale tak to wygląda ok.
32:33
I odpalimy jeszcze na Google Chrome.
32:44
Też to wygląda dobrze.
32:50
Mam jakieś mokre rzeczy podpięte, to też działa.
32:54
Dobra.
32:56
To jedyny problem z tą sekcją, że ona słabo wygląda na mobile.
33:01
Więc to jest to test do dodania.
33:06
Stawiamy sobie tutaj tu dół.
33:11
social proof section on mobile flex wrap bo tak to mieliśmy wcześniej zrobione.
33:22
Odznaczmy PageSpeed Insight.
33:24
Puszczamy to na PageSpeed Test.
33:30
Zobaczymy jak to działa.
33:52
Musimy tylko loti wyprawić za chwilę.
34:05
Niekoniecznie chcę tutaj już efekt SetInterval używać, ale zobaczmy jak to będzie działało.
34:25
Dobra, super.
34:26
Niech to leci.
34:29
Zobaczmy jak tutaj.
34:30
O, skończył analizę.
34:32
Zaraz ją będziemy testować.
34:33
Potrzebujemy kluczy.
34:38
I dobra, tutaj zobaczmy jak to wyszło.
34:42
Dalej działa, dalej to sprawdza.
34:45
Dobra.
34:51
Jeszcze żebyśmy się nie pogłupili, bo mamy Plan...
34:56
Plan...
34:57
Plan...
34:57
Plan...
34:57
Plan...
34:58
Plan...
34:58
Plan...
34:58
Plan...
35:00
Plan...
35:01
Plan...
35:02
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:03
Plan...
35:04
Plan...
35:04
Plan...
35:07
Plan...
35:08
Plan...
35:11
Plan...
35:12
Plan...
35:12
Plan...
35:17
Plan...
35:22
Plan...
35:23
Plan...
35:26
To zaraz sobie przetestujemy.
35:28
W sumie już możemy przetestować.
35:35
Fajnie by było dodać kursor, pointer.
35:46
Dobra, ale to też działa.
35:47
To też sobie zaznaczymy.
35:49
Żeby nie pogłupić.
35:55
Dobra, mamy to.
36:22
To działa i to też skończyło, więc mamy te dwa rzeczy, które moglibyśmy już przełączyć i zweryfikować, więc warto to zrobić.
36:30
Ciekawe czemu to nie działa, przed chwilą mówisz, że to działało.
36:34
Dobra, przejdźmy do kodu tutaj.
36:38
Rzućmy sobie nasz analyzer.
36:43
Analyze.
36:47
Ok, kod nadrysowany, należy do napki.
36:50
Ok, mamy error handling.
36:51
Musimy dodać sobie takim razie teraz klucze.
36:55
Wykrył mi wszystkie PR-y, dobrze.
36:58
Design system, mock prototype.
37:01
I pierwszego PR-a, którego odrzuciłem, nie zmarżowałem, też mi go wykrył, więc to jest w porządku.
37:08
Potrzebujemy klucz do clouda.
37:13
Potrzebujemy kluczy do clouda.
37:17
Dobra.
37:20
Kurcze nie wiem czemu to nie działa.
37:32
Dobra.
37:42
Clouda.
37:43
Clouda sobie zaciągnę.
37:45
Cloud z drugiego monitora.
37:53
ok zapytałem Zapytamy Claude'a gdzie znaleźć klucz najszybciej.
38:34
Zapytam Claude'a o klucz API.
38:56
On tu powinien mi dać te API klucze.
39:26
github to dodam sobie później muszę zalogować Pokażę, wrzucę tutaj API klucz.
40:32
W sumie wrzucę też na drugim ekranie.
40:40
Czemu mi to znikło?
41:05
dziwne nie mam pliku tego jeszcze raz sobie skopiuję tutaj klucz żeby wam go nie pokazywać Ok.
41:48
Mam.
41:49
Dobra powinien być klucz.
41:51
Zresetujemy projekt.
41:54
I uruchomimy jeszcze raz tom, a później będziemy walidować co tu nam cloud zrobił i jak to wygląda.
42:10
Nie wiem czemu mi to nie działa.
42:13
Zaraz tutaj będziemy Widzę nawet odświeżył już ale puścimy sobie to jeszcze raz.
42:30
Działa.
42:50
Ok, wypluło nam te rzeczy.
42:53
To fajnie, że to działa.
43:00
Sprawdzimy sobie na szybko kod jak to wygląda.
43:04
ApiAnalyzeRoutes I co on tu pozmieniał?
43:19
Ok, to wygląda dobrze.
43:23
To na razie nas nie interesuje, to z opcjami komunikujemy.
43:29
Analyzer overlay też olewamy.
43:31
To też olewamy.
43:37
To jest ważne.
43:49
ok parsujemy i jeżeli nie to oddziałamy jeszcze raz ok i retryujemy Ok, dwa razy, w porządku.
44:23
I to wygląda na razie w porządku, github.
44:30
Ok, maxfiles nam zrobił.
44:34
To jest też coś co można by było handlować później, ale nie miałem na razie na to czasu.
44:48
schematy nam dodał do walidacji i na razie mu zaufamy z tym więc to sobie to sobie skomentujemy fit cloud-api-working Czy coś jeszcze?
45:17
To facet.json został.
45:18
Entropica.psdk to też sobie zakomitujemy.
45:23
ResultMocka.
45:30
A ResultMock to jest to.
45:32
Wiem co to jest to też.
45:34
Dobra.
45:35
Komit.
45:37
Teraz co jest ważne żeby być pewnym zadaniem w zasadzie to Zobaczmy czy wszystko zostaje, czy nam wszystko zwraca.
45:51
Tytuł mamy, autor mamy.
46:13
rozmiar ChangeFiles, ok to też mamy, podgląd Diffa.
46:25
Ok, brakuje nam podglądu do Diffa.
46:34
Więc to musimy dodać.
46:38
Trzy oceny, ILEVERAGEQUALITY, TONESCORES mamy, SUMARY też mamy.
46:42
Więc to jest ok.
46:45
I mamy też total score.
46:48
Super.
46:50
Dobra to powiemy mu żeby dodał.
46:55
Powiemy mu żeby dodał podgląd leafa.
47:03
We need to also have jeśli wysyłasz to do broń dla HPR dla HPR, więc proszę dodać to do video, które wysyłałeś jako odpowiedź Dobra, włożymy to.
47:43
W międzyczasie zweryfikujmy tego.
47:52
Jak on to nazwał?
47:56
ResultMock.
47:57
Wejdziemy sobie na ResultMock.
48:14
O, to fajnie wygląda.
48:16
Trochę szybko, ma słabe przejście, ale wygląda spoko.
48:22
Więc powiemy mu teraz żeby on to mogł...
48:33
Please now integrate it with actual result page.
48:46
Dobra, zweryfikujemy sobie jeszcze tego PageSpeedTesta.
49:00
Dalej to nie działa, nie wiem dlaczego.
49:02
Skorzystamy z jakiegoś innego PageSpeedTesta w takim razie.
49:20
Dobra niech to leci.
49:22
A to dziwne.
49:24
Zdeployujemy sobie może jakąś inną stronę.
49:39
Ok.
49:48
Ok, score jest wysoki, więc to wygląda dobrze na mobile'u, więc temu zaufamy.
49:55
Dziwne, czemu to nie działa tu.
49:58
Ale możemy to zaznaczyć u nas w wyplanie, że jest ok.
50:06
Ok, temat będzie trzeba poprawić.
50:13
Zostawię tego też tu do status promptu, żeby nie zapomnieć.
50:19
Dobra, więc mamy to, mamy to.
50:25
Tu dalej działa.
50:29
Tu mamy to.
50:36
OK, OK.
50:40
Tak, niech on to zrobi.
50:42
Niech on to robi.
50:44
Mamy to, bo tu już też jest ready.
51:07
Nie chcemy wypalać całego patcha bo to będzie za dużo danych.
51:12
To jest to.
51:31
Jak to sobie działa to my sobie zrobimy tego PR Na githubie.
51:40
Na githubie zrobimy sobie.
51:45
Zobaczymy co działo, dziwne.
51:54
Zobaczymy jeszcze raz.
51:57
PR na githubie.
52:12
Eee...
52:20
Eee...
52:24
Kwestia?
52:46
Dobra.
52:54
Dobra mamy to.
53:03
ClearContext.
53:04
Lećmy.
53:08
Dano jest override zrobione.
53:10
Zobaczymy czy on się uruchomi.
53:19
Ok, wygląda spoko.
53:22
Brakuje nam dalej tego LutyFile'a, ale to dodamy.
53:30
Ok, mamy rezult.
53:37
Spoko.
53:37
Działa, więc to też komitujemy.
53:40
Od razu.
53:41
Nawet w tym pull request'ie.
53:44
Analizy z overlay.
53:49
To możemy wywalić.
54:12
I tutaj mamy też zmiany.
54:19
To też zrobiło to puścimy sobie jeszcze raz jeszcze raz sobie puścimy rezultat żeby zobaczyć czy dostaliśmy tego diffa Zobaczmy tylko.
54:52
Tytuł url zostaje wysyłany.
54:55
A jest.
54:56
Ok.
54:57
No dobrze.
55:03
Więc to sobie też skomentujemy.
55:18
Mamy typ url, pytanie czy to działa.
55:34
Działa, super.
55:40
Komitujemy to.
55:44
Komitujemy to i pushujemy.
55:51
Dobra, teraz to zrobimy.
55:57
Nie przechodzą mi jakieś testy.
56:03
Zobaczymy za chwilę czy to wszystko przejdzie.
56:07
Dobra, na jednym oknie sobie odpalimy w takim razie teraz Code Review.
56:14
To mi nie złapało komendy.
56:44
To się ładuje.
56:56
Tu coś nie przeszło.
56:59
Bo formater.
57:02
Test.
57:06
Terminal.
57:14
ok, testy zlokował mi WebStorma Testy przeszły, nie przeszły?
57:53
Testy przeszły.
57:58
Pretier teraz też pewnie powinien przychodzić.
58:04
Tak, co on tu zmienił?
58:10
L2, ok.
58:18
Dobra.
58:33
Cloud Code.
58:34
Zobaczymy co on tu zrobił.
58:37
Dalej myśli nad Code Review.
58:42
Dobra.
58:44
O już wypluł.
58:47
OK, to też zamienimy Ok, to też dobrze.
59:37
Niech on wszystko to zaimportuje.
59:44
Dobra, zobaczymy jak tutaj.
59:53
dalej weryfikuje to wypuszczalismy dobra to działa tu mamy naprawione wszystko to się alczyki przeszły jeżeli alczyki przeszły to czekamy na to wymrożujemy poszukamy lotify Dalej nie działa, dobrze będziemy to później debugować Login with github Loading...
01:01:00
Dużo tych loading animacji.
01:01:23
to wygląda spoko to użyjemy a co z premium?
01:01:36
no to nie użyjemy tego za chwilę poszukamy darmowych jakichś fajnych rzeczy skupmy się na kodzie to dalej implementuje dobra Następną rzeczą którą będziemy robić to jest kolejny step czyli plan plan plan plan plan plan musimy zweryfikować to ale to to jest validated tylko nie mamy chyba musimy to dodać dobra dobra więc teraz przejdziemy Do dodania jeszcze tych testów i do i do i do PrivateRepo, weźmy jakieś PrivateRepo, wezmę sobie z tutaj Github Dobra, mamy PrivateRepo Repozycja jest łatwa do roli sprawa jest ok, nie wygląda tak jak wspaniale, ale w sumie nie wygląda to źle, jest ok.
01:03:36
Private repo, ale with zero match PRs.
01:03:41
Czy ja mam jakieś blank PR?
01:03:45
Repozytorium.
01:03:50
Pam pam pam pam pam.
01:03:59
Tak, mam tutaj.
01:04:07
Mam gra z bitem, mam takie repo bez PR'ów, analyze.
01:04:18
To też działa.
01:04:29
zostawmy testy a czy to w ogóle się aplikuje adb test zobaczmy co on tu zmienił ok to jest w porządku nie to też w porządku dodał sukces ok to kolory pozmieniam to też w porządku to deprecated Dobra, nie będziemy się tym planem przejmować, bo zmienił co zmienił.
01:05:44
Nie ma czasu na to.
01:05:48
Sprawdźmy tylko czy działa wszystko.
01:05:55
NotFoundPage'a musimy na pewno poprawić.
01:06:13
A to wygląda jakby działało, więc ja tu komituję.
01:06:57
Tak, niech leci.
01:06:59
Kit Ignora też zakomitujemy, żeby był, bo to ważne.
01:07:25
dobra na testy z bazy, dobra szybko format checker co on tam chce w sumie testy i tu test test i popatrzmy jeszcze na środku ok wygląda to solidnie dobra mamy przechodzimy do prompta bo mało czasu dostało do prompta z kolejnego planu czyli do prompta Tutaj będziemy chcieli wyświetlić na górze jakiś scoring, na dole tabelka z filtrowaniem.
01:09:25
Więc będziemy potrzebować komponentu tabeli.
01:09:28
Zrobimy to sobie za pomocą table.stacka.table Jakiś taki composition component.
01:09:37
Na szybko wygenerujemy.
01:09:40
A później dodamy filtrowanie i sortowanie.
01:09:47
Czyli pierwszy prompt będzie dotyczył Pierwszy prompt będzie dotyczył Będziemy pracować na płycie rezultatu.
01:10:02
Pracujemy na płycie rezultatu.
01:10:16
Proszę pokazać na górze skórę generała i eksperyment.
01:10:27
pod filmem i pokażę tabelę z każdą PR.
01:10:41
Proszę stworzyć nowy komponent dla tabeli.
01:10:50
Używając patroni kompozycyjnych.
01:10:55
Composition pattern Composition pattern using tan stacktable package For now without filtering and sorting we will add this later Dobra.
01:11:29
Zaczniemy sobie, żeby on nad tym działał.
01:11:33
Clear.
01:11:36
I zaczniemy, żeby on nad tym działał, a zmerczujemy teraz pull requesta.
01:11:43
Bo to wszystko powinno działać.
01:11:45
Tak.
01:11:48
Checki przeszły.
01:11:50
Właśnie pokazuje mi tu, że nie, ale checki przeszły.
01:11:53
Jest, przeszły.
01:11:55
Dobra.
01:11:56
Merge pull request.
01:11:59
Confirm merge.
01:12:03
Delay branch.
01:12:06
Dobra.
01:12:08
Teraz git fetch.
01:12:12
I przechodzimy sobie na nowego brancza.
01:12:21
Widzicie on od razu zdewa.
01:12:25
mamy jesteśmy gotowi No to ja myślę, że też kończę akurat nagrywanie i kończę ostatniego stepa zadania.