Budżet: 2000 UAH Termin: 1 dzień
Witam.
Jestem programistą NodeJS. Jestem gotów podjąć się tego zadania. Piszcie, omówimy.
Istota projektu: Konieczne jest opracowanie bazy technicznej (klient i serwer) dla sportowej gry online (siatkówka). Potrzebny jest czysty, skalowalny kod na nowoczesnym stosie, który łatwo można utrzymać i rozszerzać o nowe mechaniki.
Mam opis techniczny oraz fragmenty kodu klienta logiki i fizyki (jako referencje), które pomogą dostosować masę, grawitację i siłę skoków oraz ogólnie pokazać, jak powinien wyglądać gameplay.
Stos technologiczny:
Frontend: JavaScript (ES6+), Pixi.js (do renderowania), P2.js (do fizyki).
Backend: Node.js, Socket.io.
Dane: Używać efektywnej binarnej serializacji (np. FlatBuffers, Protocol Buffers lub niestandardowy Binary Stream). Obowiązkowa jest szczegółowa dokumentacja (mapa protokołu) dla każdego typu pakietu.
Platformy: Przeglądarka (Web) z późniejszą adaptacją na urządzenia mobilne (Capacitor/WebView).
Kluczowe wymagania:
Modularność: Kod musi być napisany w klasach (ES6), bez użycia obfuskacji czy minifikacji. Każda jednostka (gracz, piłka, bonusy) musi być oddzielona.
Logika sieciowa: Stabilny multiplayer dla trybów 1x1, 2x2 oraz 3x3. Autorytarny serwer (wszystkie obliczenia fizyczne po stronie serwera).
Fizyka obiektów: Implementacja inercji, kolizji i odbić za pomocą P2.js.
Elastyczny interfejs: Implementacja dynamicznej kamery (Zoom out), aby pole skalowało się w zależności od liczby graczy w meczu.
System mechanik: Architektura do dodawania zdolności postaci (sprinty, przyspieszenia), aby mogłem samodzielnie dodawać nowe typy umiejętności.
Praca z grafiką: Na etapie rozwoju używamy placeholderów (proste figury). Samodzielnie zintegrowuję finalne zasoby HD po zakończeniu części technicznej. Od wykonawcy wymagana jest jasna metoda wymiany sprite'ów.
Oczekiwany rezultat:
Pełny kod źródłowy z komentarzami.
Instrukcja konfiguracji serwera i klienta.
Mapa protokołu: Szczegółowy opis struktury każdego binarnego pakietu (siatka bajtowa: który bajt za co odpowiada, typy danych Int8, Float32 itp.).
Narzędzia: Obecność w kodzie wygodnych metod do dodawania nowych pól do pakietów bez ryzyka złamania całej struktury.
Wstępna konsultacja: Wyjaśnienie zasady działania binarnego strumienia, aby mogłem samodzielnie dodawać nowe zmienne (np. poziom energii czy many) do istniejących pakietów.
Struktura i organizacja projektu:
Modularność: Kod powinien być ściśle podzielony na logiczne moduły za pomocą ES6 Imports/Exports.
Struktura plików: Każda jednostka powinna znajdować się w osobnym pliku. Orientacyjna struktura:
/src/entities/ — klasy Player.js, Ball.js, Net.js.
/src/physics/ — logika przetwarzania kolizji i grawitacji (p2.js).
Brak monolitu: Zabronione jest pisanie logiki gry w jednym dużym pliku. Kod musi być łatwy do odczytania i udokumentowany.
Kluczowe wymagania:
Pokoje i sesje: Logika gry opiera się na izolowanych pokojach (Rooms). System musi wspierać PVP (1x1, 2x2, 3x3) oraz tryb jednoosobowy/Co-op.
PVE i AI Bossowie: Architektura musi wspierać boty serwerowe (AI). Potrzebna jest możliwość tworzenia bossów z unikalnymi mechanikami (niestandardowe rozmiary, zmienione strefy uderzenia, specyficzne timingi i logika zachowania).
Modularność: Kod w klasach (ES6), bez obfuskacji. Każda jednostka (gracz, piłka, boss, bonusy) — w osobnym pliku.
Logika sieciowa: Autorytarny serwer (wszystkie obliczenia fizyki i logiki AI po stronie Node.js).
Fizyka: Realizacja inercji i kolizji przez P2.js na podstawie dostarczonych referencji.
Elastyczny interfejs: Dynamiczna kamera (Zoom out) do skalowania pola w zależności od liczby graczy w pokoju.
System mechanik: Elastyczna architektura do dodawania umiejętności postaci (sprinty, przyspieszenia, ulty) przez zleceniodawcę.
Oczekiwany rezultat:
Pełny kod źródłowy z komentarzami (modularna struktura).
Instrukcja konfiguracji serwera i klienta.
Mapa protokołu: Szczegółowy opis binarnej struktury pakietów (siatka bajtowa: typy danych Int8, Float32 itd.).
Wstępna konsultacja: Wyjaśnienie zasady działania binarnego strumienia i logiki AI bossów, abym mógł samodzielnie dodawać nowych przeciwników.
Budżet: 2000 UAH Termin: 1 dzień
Witam.
Jestem programistą NodeJS. Jestem gotów podjąć się tego zadania. Piszcie, omówimy.
Budżet: 2000 UAH Termin: 7 dni
Cześć, pracowałem nad wieloosobową grą 2D z fizyką na Pixi.js + Node.js, gdzie zrealizowałem autorytarny serwer dla 20+ jednoczesnych graczy oraz binarną serializację w celu zmniejszenia ruchu o 75%
Ciekawe, czy planujecie używać pokoi do meczów, czy cała logika będzie krążyć wokół jednego świata gry?
Proponuję się skontaktować, chętnie doradzę Państwu z technicznej strony i wspólnie opracujemy plan rozwoju + opowiem o moim zespole!
Budżet: 22000 UAH Termin: 20 dni
Witaj! Zespół SDEV ma wieloletnie doświadczenie w tworzeniu skomplikowanych projektów wieloosobowych na nowoczesnym stosie technologicznym. Nasza oferta obejmuje:
1. Realizacja techniczna
- Pełny kod źródłowy w ES6, Pixi.js, Node.js i P2.js z wyraźną modularnością.
- Autorytarny serwer dla stabilnej logiki sieciowej (tryby 1x1, 2x2, 3x3).
- Realizacja fizyki (inercja, kolizje, odbicia) za pomocą P2.js.
2. Dokumentacja i struktura
- Szczegółowa mapa protokołu z opisem pakietów binarnych (siatka bajtowa, typy danych).
- Instrukcje dotyczące konfiguracji serwera/klienta oraz mechanizm dodawania nowych mechanik.
- Struktura plików według modułów ES6: `/entities`, `/physics`, `/network`.
3. Elastyczność i skalowalność
- Architektura do dodawania nowych zdolności postaci.
- Dynamiczna kamera i mechanizm wymiany sprite'ów dla zasobów HD.
4. Wsparcie i konsultacje
- Wyjaśnienie działania strumienia binarnego dla wygodnego rozszerzania funkcjonalności.
Już realizowaliśmy podobny projekt — automatyzację dla siłowni (bot do zarządzania karnetami i harmonogramem). Nasz zespół specjalizuje się w tworzeniu niezawodnych systemów o wysokiej przepustowości, wykorzystując Node.js i nowoczesne metodyki rozwoju.
Budżet: 1000 UAH Termin: 1 dzień
Witaj! Jesteśmy małym zespołem, który od ponad 4 lat zajmuje się tworzeniem stron internetowych oraz grami przeglądarkowymi, i jesteśmy gotowi podjąć się opracowania architektury twojej sportowej arkaady. Wprowadzimy ścisłą modularność w klasach ES6, skonfigurujemy fizykę P2.js z uwzględnieniem bezwładności i odbić piłki, a także opracujemy system AI-bossów z możliwością łatwego dodawania nowych wzorców zachowań. Nasze doświadczenie, które wynosi ponad 4 lata, pozwala nam przygotować czysty kod z komentarzami oraz przeprowadzić wstępną konsultację na temat pracy z binarnym strumieniem, abyś mógł samodzielnie skalować projekt. Koniecznie zapoznaj się z naszymi przykładami prac: freshagro.com.ua, farfieworldwide.com, rivnekolo.com. Budżet do uzgodnienia w granicach 2000 USD, termin — do 1 miesiąca.
Budżet: 21000 UAH Termin: 12 dni
Dzień dobry! Razem z kolegą od ponad 4 lat profesjonalnie zajmujemy się technicznym projektowaniem gier sieciowych oraz optymalizacją wymiany danych przez Socket.io, dlatego pomożemy Ci zbudować skalowalną bazę dla siatkówki 1x1–3x3. Zrealizujemy audyt frontendowy Twoich referencji fizyki, przeniesiemy obliczenia na stronę Node.js dla autorytatywnej kontroli i przygotujemy szczegółową mapę protokołu (siatkę bajtową) dla maksymalnie szybkiej transmisji pakietów. Zapewnimy techniczną bezbłędność wykonania: od dynamicznego Zoom-kamery po modułowy system zdolności, nasze 4-letnie doświadczenie potwierdzone jest udanymi projektami: drkukharevich.rivne.ua, crave-agency.com.ua, jk-solution.com.ua.
Budżet: 20000 UAH Termin: 10 dni
Witaj! Razem z moim partnerem (projektant + full-stack) od ponad 4 lat specjalizujemy się w tworzeniu gier wieloosobowych oraz systemów o wysokim obciążeniu na Node.js, dlatego profesjonalnie zrealizujemy techniczną bazę dla Twojej arkaady siatkarskiej. Opracujemy architekturę bytów gry w Figma (User Flow i schematy pakietów) w celu wizualizacji logiki, zapewniając technicznie doskonały serwer autorytatywny na FastAPI/Node.js, binarną serializację przez niestandardowy Binary Stream (Int8/Float32) oraz modułowego klienta na Pixi.js + P2.js. Nasze doświadczenie, które wynosi ponad 4 lata, pozwala nam stworzyć elastyczny system pokoi (Rooms) oraz architekturę dla AI-bosów, gdzie będziesz mógł samodzielnie zmieniać parametry masy, grawitacji i umiejętności postaci; zobacz nasze prace pod kątem czystości kodu i złożoności logiki: hyperfi.tech, espressolab.com.ua, hudi.com.ua.
Budżet: 1111 UAH Termin: 1 dzień
Dzień dobry, piszcie na prywatne, omówimy możliwość współpracy.
Budżet: 27000 UAH Termin: 16 dni
Dzień dobry
Nazywam się Angelina, reprezentuję firmę King Kong Lab
Zapoznałam się z zadaniem — to pełnoprawny rozwój techniczny rdzenia gry, który możemy zrealizować z odpowiednią architekturą pod skalowanie
Mamy doświadczenie w pracy z systemami real-time, Node.js, Socket.io oraz budowaniem logiki serwera z autorytarnym modelem
Podejście
budujemy czystą modułową architekturę (klasy ES6, podział na byty)
cała fizyka i logika gry na serwerze (Node.js + p2.js)
klient na Pixi.js tylko do wyświetlania i synchronizacji
realizujemy system pokoi (1x1, 2x2, 3x3, PvE)
zakładamy architekturę pod AI (boty, bossowie z niestandardową logiką)
tworzymy elastyczny system umiejętności, abyście mogli sami dodawać nowe mechaniki
realizujemy protokół binarny (protobuf / niestandardowy) z szczegółową dokumentacją
Osobno
zrobimy jasną strukturę projektu bez “monolitu”
przygotujemy instrukcje uruchomienia
damy mapę protokołu z opisem każdego pakietu
przeprowadzimy konsultację na temat logiki strumieni i rozszerzenia systemu
Jesteśmy również gotowi podzielić to na etapy i zacząć od MVP (1x1 + podstawowa fizyka + protokół), aby szybciej uzyskać działający wynik i dalej skalować
Jesteśmy gotowi omówić szczegóły i wasze referencje logiki
Będę zadowolona z współpracy
Budżet: 27000 UAH Termin: 10 dni
Witam, mam doświadczenie w tworzeniu złożonych systemów czasu rzeczywistego (Fintech, platformy wydarzeń), mam również doświadczenie w tworzeniu gier i ogólnie mi się to podoba. Krótko przedstawię plan realizacji:
Jak zrealizuję bazę techniczną:
1. Architektura Serwera Autorytarnego (Node.js + P2.js)
Świat gry: Na serwerze uruchamiany jest fizyczny świat p2.World. Każdy pokój (Room) to osobny instancja świata, w którym obliczane są kolizje graczy, piłki i siatki.
Logika AI i Bossów: Tworzony jest podstawowy klas BaseEntity, od którego dziedziczą Player i Boss. AI bossów będzie działać w tym samym cyklu (tick), co fizyka, mając dostęp do współrzędnych piłki w celu podejmowania decyzji (Behavior Trees lub State Machine).
Pokoje: Realizacja RoomManager do izolacji meczów.
2. Protokół sieciowy (Binary Stream)
Nie polecam używać ciężkich bibliotek typu Protobuf do tak dynamicznej rozgrywki, jeśli potrzebna jest maksymalna prędkość. Opracuję niestandardowy Binary Stream oparty na ArrayBuffer i DataView.
Optymalizacja: Zamiast przesyłać JSON {x: 120.5, y: 300.2}, przesyłamy 8 bajtów (2 x Float32).
Mapa protokołu: Dostarczę tabelę (Byte Grid), w której każdy pakiet będzie opisany:
[0] - ID pakietu (Uint8)
[1-2] - ID encji (Uint16)
[3-6] - Pozycja X (Float32)
...i tak dalej.
3. Klient (Pixi.js + Interpolacja)
Renderowanie: Pixi.js będzie tylko "wyświetleniem" tego, co mówi serwer.
Wygładzanie: Ponieważ pakiety przychodzą z określoną częstotliwością (na przykład 20-30 Hz), zrealizuję interpolację po stronie klienta (liniowa interpolacja między ostatnimi stanami), aby ruch obiektów wyglądał płynnie przy 60 FPS.
Dynamiczna kamera: Realizacja przez pixi-viewport lub niestandardowy kontener, który oblicza bounding box wszystkich aktywnych graczy i zmienia skalę oraz pivot.
4. Modułowość i Rozszerzalność
System Umiejętności: Tworzę klasę AbilityManager i BaseAbility. Będziecie mogli dodać nowy plik DashAbility.js, wpisać logikę zmiany prędkości w metodzie execute(), a ona automatycznie zacznie działać.
Zamiana sprite'ów: Wszystkie encje będą odnosić się do AssetManager. Aby dokonać zamiany, wystarczy zmienić ścieżkę do tekstury w konfiguracji.
Będę zadowolony z pracy, mój Git https://github.com/onyx144
Budżet: 10000 UAH Termin: 1 dzień
✋ Witaj! Jesteśmy firmą IT dZENcode.
Możemy dla Ciebie opracować grę wieloplatformową z logiką serwerową pod to zadanie.
Czy potrzebna jest od razu adaptacja mobilna?
Pracujemy w iteracjach, stawki od 750 UAH/godz.
Szczegółowe informacje o naszych usługach i stawkach znajdziesz na stronie: Freelancehunt
Zobacz – potem omówimy szczegóły pracy, pisz, gdy będziesz gotowy.
Ostateczny koszt ustalany jest dopiero po wyjaśnieniu zakresu i wymagań.
___________________
Z poważaniem,
Menadżer dZENcode
Nasze mocne strony:
💎 10+ lat świadczymy usługi IT: Outsourcing, Outstaffing
🔥 90+ pracowników na etacie
🚀 Projekty „od zera” i wsparcie
⚙️ SLA i wsparcie po produkcji
✅ Umowa z firmą, gwarantowany wynik!
🔥 250+ publicznych opinii od 2015 roku.
Budżet: 12345 UAH Termin: 1 dzień
Witam, mam doświadczenie z pracą serwerową z socket io, ale backend proponuję na Nest.js (bardziej modułowy i nowoczesny standard) oraz mam doświadczenie z Pixi.js. Będę zadowolony, aby Ci pomóc!
Budżet: 20000 UAH Termin: 30 dni
Witam. Mogę zrealizować twój projekt. Mam doświadczenie. Napisz, ustalimy szczegóły.
To niedopracowana wtyczka do After Effects: https://drive.google.com/drive/u/0/folders/1Nq9a672OK6ep9Com1lqelUhZxbx3_3f1 to, jeśli dobrze rozumiem, wtyczka CEP (Adobe Extension) do After Effects. To panel HTML/JavaScript przez Adobe CSXS, który współdziała z After Effects przez ExtendScript. Celem było zautomatyzowanie procesu tworzenia wideo w stylu "maze challenge", odniesienie na YouTube GOALRUSH-f8x lub analog. Wideo ręcznego montażu: https://drive.google.com/file/d/1Ylzvax6w2JGDwaBqeCdbD49jh5wB5buY/view?usp=sharing Plik jednego z projektów: https://drive.google.com/file/d/15vKd1L9VfHtDqK2wtLQdYEmDpH1d8Jvy/view?usp=sharing Oprócz "bugowatości" systemu przez vibe coding (dlatego vibe coderzy odpadają), nie odpowiadały takie szczegóły (rzeczywiste poprawki): https://docs.google.com/spreadsheets/d/18Svc6GoQ34PgLe1HY7gNX5tPLH0Cpv9E4mfjCRBCMFU/edit?gid=0#gid=0 Trzeba stworzyć system, który będzie generował projekty w After Effects ze wszystkimi niezbędnymi komponentami wideo, które są opisane w Baza.pdf, bardziej szczegółowa logika w formie zdjęć, dokumentu tekstowego oraz mapy myśli dla zrozumienia wszystkich możliwych wariacji na dysku: https://drive.google.com/drive/folders/1Uf4Pnw3SKmwpmhL7sjPZFnfAbN0arUjr?usp=sharing Jeszcze bardziej szczegółowo (z bardziej rozwiniętą częścią opisową oraz linkami do timestampów w referencjach) tzw. będzie formułowane w roboczej przestrzeni projektu Końcowy rezultat to system, który tworzy wideo: od 40 sekund do 1 minuty, całkowicie unikalna treść przy każdym tworzeniu, bez metadanych AI w pliku wideo, w nim powinien być zrozumiały fabuła (pułapki, ślepe zaułki, różne emocje postaci-celebrytów w wyniku jakichś zwrotów akcji w wideo), dźwięk projektowy pod fabułę (krzyki i inne emocje, wybuchy itd.), stylistycznie nie różniące się od wideo referencyjnego z kanału
Istnieje działająca strona produkcyjna z katalogiem produktów, kartami modeli i stronami informacyjnymi. Stos technologiczny frontend: — Next.js; — React; — TypeScript; — istniejący system komponentów; — środowiska staging i produkcyjne. Jest zatwierdzony kierunek wizualny i projekt nowej strony głównej. Należy go wdrożyć w istniejącym projekcie, dostosować do desktop/tablet/mobile i doprowadzić wszystkie główne typy stron do jednolitej, zaktualizowanej stylistyki. Pełny redesign produktu i zmiana logiki biznesowej nie są wymagane. OBOWIĄZKOWY ZAKRES 1. Nowa strona główna — zrealizować stronę główną według dostarczonego projektu; — zachować istniejącą funkcjonalność, linki i routingu; — poprawnie podłączyć zatwierdzone sekcje i CTA; — wykorzystać istniejące dane i API; — przewidzieć poprawne wyświetlanie dynamicznej treści. Główne typy sekcji: — nagłówek/nawigacja; — hero; — bloki informacyjne; — karty modeli/ofert; — bloki analityczne lub market insight; — sekcje CTA; — stopka. Dokładny skład sekcji zostanie dostarczony wybranemu wykonawcy wraz z makietą. 2. Responsywność Należy zrealizować: — desktop; — tablet; — mobile; — pośrednie rozdzielczości; — poprawne zachowanie siatek, kart, menu, przycisków i typografii; — brak poziomego scrolla i konfliktów wizualnych. 3. Typografia i ogólne style — wdrożyć nowe zatwierdzone czcionki; — doprowadzić rozmiary, wagi, line-height i odstępy do jednolitego systemu; — zaktualizować style przycisków, kart, pól, badge'ów i nagłówków; — w miarę możliwości wykorzystać wspólne design tokens lub zmienne CSS; — nie dublować stylów osobno dla każdej strony bez potrzeby. 4. Ujednolicenie istniejących stron Sprawdzić i doprowadzić do nowej stylistyki główne typy stron: — katalog; — karta modelu / PDP; — strony informacyjne; — nagłówek; — stopka; — formularze; — okna modalne; — istniejące CTA; — stany loading / empty / error, jeśli już występują w projekcie. Chodzi o wizualne ujednolicenie istniejących komponentów, a nie o pełny indywidualny redesign każdej strony. 5. Katalog Sprawdzić: — siatkę kart; — obrazy; — nazwę, referencję i cenę; — filtry i sortowania; — przyciski i linki; — wyświetlanie desktop/mobile; — stany loading i empty; — brak wizualnych przesunięć podczas ładowania. 6. PDP Sprawdzić: — galerię; — główny blok informacyjny; — cenę i CTA; — sekcje analityczne; — tabele i metryki; — About Watch; — układ desktop/mobile; — długie nazwy, referencje i brakujące dane. Należy zachować obecną funkcjonalność i istniejące kontrakty API. 7. Nagłówek i Stopka — jednolita stylistyka na wszystkich stronach; — responsywna nawigacja; — mobilne menu; — poprawne stany active/hover/focus; — brak rozbieżności między stroną główną, katalogiem i PDP. 8. Stany interfejsu Dla dynamicznych bloków sprawdzić: — loading; — puste dane; — błąd API; — niewystarczające dane; — brakujący obraz; — brakująca cena; — długi tekst; — mobilne wyświetlenie. Nie jest wymagane opracowywanie nowej skomplikowanej logiki biznesowej. Należy poprawnie wizualizować już istniejące stany. 9. Jakość i wydajność — nie pogorszyć SEO i bieżącej indeksacji; — zachować poprawne metadane i semantyczne HTML; — nie tworzyć krytycznych przesunięć układu; — optymalizować obrazy i czcionki; — uwzględnić reduced motion dla animacji; — sprawdzić podstawową dostępność: stany focus, kontrast, nawigacja klawiaturą; — nie podłączać ciężkich bibliotek bez uzasadnionej potrzeby. 10. Staging i QA — wdrożyć zmiany na staging; — sprawdzić główne typy stron; — sprawdzić desktop, tablet i mobile; — usunąć wizualne i responsywne błędy; — po akceptacji wykonać wdrożenie produkcyjne; — zapewnić poprawę błędów w zrealizowanym zakresie nie mniej niż 7 dni kalendarzowych po publikacji. WYNIK PRACY — Pull Request z kodem frontendowym; — zrealizowana nowa strona główna; — responsywne desktop/tablet/mobile; — jednolite czcionki, karty i podstawowe komponenty UI; — wizualnie zatwierdzone katalog, PDP i strony informacyjne; — wdrożenie staging; — poprawa znalezionych błędów wizualnych; — wdrożenie produkcyjne; — krótki opis zmienionych komponentów; — 7-dniowy okres naprawy błędów po akceptacji. KRYTERIA AKCEPTACJI 1. Strona główna odpowiada dostarczonemu projektowi. 2. Wszystkie sekcje poprawnie działają na desktop, tablet i mobile. 3. Nagłówek i stopka są jednolite na wszystkich stronach. 4. Katalog i PDP wizualnie odpowiadają nowemu systemowi. 5. Obecna funkcjonalność strony nie jest naruszona. 6. Kontrakty API i logika backendowa nie zostały zmienione bez uzgodnienia. 7. Brak poziomego scrolla i krytycznych przesunięć układu. 8. Czcionki i obrazy ładują się poprawnie. 9. Stany loading, empty i error są wyświetlane bez uszkodzenia układu. 10. Zmiany zostały sprawdzone na staging i wdrożone w produkcji. 11. Poprawiono błędy wizualne wykryte podczas akceptacji w ramach uzgodnionego zakresu. CO NIE JEST WYMAGANE — opracowanie backendu; — zmiana logiki biznesowej; — stworzenie nowego katalogu lub CMS; — opracowanie nowego API; — pełny redesign każdej strony informacyjnej; — nowe funkcje użytkownika, które nie są zawarte w makietach; — opracowanie skomplikowanego systemu designu od podstaw; — stworzenie nowego projektu zamiast dopracowania istniejącego; — zmiana struktury SEO bez osobnego uzgodnienia. WYMAGANIA WOBEC WYKONAWCY — pewna znajomość Next.js / React / TypeScript; — doświadczenie w pracy z istniejącymi projektami produkcyjnymi; — jakościowe responsywne cięcie; — doświadczenie w wdrażaniu projektów z Figma; — podejście komponentowe; — pewna praca z CSS / CSS Modules / Tailwind lub istniejącym systemem projektu; — zrozumienie Core Web Vitals; — Git / Pull Request workflow; — umiejętność pracy przez staging. W ODPOWIEDZI NALEŻY KONIECZNIE PODAĆ 1. Stała cena za pełny obowiązkowy zakres. 2. Czas realizacji w dniach roboczych. 3. Ocena w godzinach. 4. Kiedy można zacząć. 5. Linki do 2–3 odpowiednich projektów na Next.js/React. 6. Czy jest doświadczenie w pracy z katalogami, kartami produktów lub interfejsami analitycznymi. 7. Co będzie potrzebne do dokładnej oceny przed rozpoczęciem pracy. 8. Czy w cenę wchodzą: — staging; — responsywne QA; — wdrożenie produkcyjne; — poprawa błędów; — 7-dniowy okres naprawy błędów. Szablonowe odpowiedzi bez przeglądania wymagań i bez konkretnej oceny nie będą rozpatrywane. Dostęp do produkcji na pierwszym etapie nie jest udostępniany. Praca rozpoczyna się po ograniczonym przeglądzie kodu i wdrażana jest przez staging.
Istnieje działająca platforma produkcyjna z katalogiem i automatycznym aktualizowaniem zewnętrznych ofert i cen. Stos technologiczny: — Node.js / TypeScript; — PostgreSQL; — istniejąca usługa odświeżania cen i cron; — oddzielny gotowy moduł walidacji i wyboru ofert w Pythonie; — staging i produkcja. Konieczne jest punktowe dopracowanie istniejącego pipeline'u odświeżania cen bez pełnego przepisywania backendu. OBOWIĄZKOWY ZAKRES 1. Integracja modułu Python — Moduł Python pozostaje oddzielnym komponentem; — zwraca zorganizowany wynik: oferty, wybrana oferta, statusy i flagi ryzyka; — Node.js waliduje wynik i wykonuje zapis w bazie danych; — przewidzieć obsługę błędów i częściowych/nieudanych uruchomień; — pipeline dziedziczony nie jest wyłączany do zakończenia QA. 2. Uruchomienie odświeżania według listy Dodaj uruchomienie: — po jednym slug/id; — po przekazanej liście slug/id. Możliwe CLI lub istniejące API serwisowe. Nowy interfejs użytkownika nie jest wymagany. 3. Tryb Shadow Nowe wyniki powinny być zapisywane oddzielnie i nie wpływać na produkcję do QA. Wymagane pola shadow: — cena; — ID wybranej oferty; — bezpośredni URL; — status oferty; — flagi ryzyka/QA; — checkedAt; — engineVersion. 4. Rozszerzenie istniejącej tabeli ofert Dodaj: — źródło; — external_offer_id; — last_seen_at; — last_checked_at; — engine_version; — flagi ryzyka lub przechowywanie w istniejącym JSON; — unikalne ograniczenie dla ochrony przed duplikatami. Nie jest wymagane tworzenie nowego równoległego systemu ofert, jeśli istniejącą tabelę można bezpiecznie rozszerzyć. 5. UPSERT, STALE i transakcja DB Zamień obecną schemę DELETE → CREATE: — UPSERT istniejących i nowych ofert; — oferty, które nie występują w pełnym udanym snapshot, są przekazywane do STALE; — w przypadku błędu API, częściowego wyniku lub niedokończonego snapshot aktywne oferty nie powinny stawać się STALE; — aktualizacja ofert, metadanych wybranej oferty i pól shadow według jednego modelu odbywa się w ramach jednej transakcji DB; — w przypadku błędu wykonywany jest pełny rollback. 6. Bezpieczne odświeżanie kanoniczne Odświeżanie cen nie powinno zmieniać: — marki; — referencji; — modelu; — kolekcji; — nazwy/tytułu; — slug; — opisów; — obrazów; — pól SEO. Aktualizowane są tylko oferta, cena i dane shadow. 7. Zachowanie obecnej logiki cron Zachować: — istniejący cron; — rolling batches; — cooldown; — sprawdzenie PRICE_REFRESH_MIN_DAYS przed wywołaniem zewnętrznego API; — dziedziczony pipeline produkcyjny do zakończenia Shadow QA. 8. Audyt wyników Wystarczy jedna opcja: — kolumna shadow w istniejącej tabeli administracyjnej; lub — eksport CSV. Minimalne dane: — model/referencja; — cena produkcyjna; — cena shadow; — delta; — URL produkcyjny/shadow; — status; — flagi ryzyka; — checkedAt; — engineVersion. Nowy skomplikowany dashboard nie jest wymagany. 9. Staging i QA — migracje DB; — wdrożenie staging; — test dymny na 5 przekazanych modelach; — następnie Tryb Shadow na około 50 modelach; — naprawa błędów technicznych wykrytych podczas tych uruchomień; — krótka dokumentacja kontraktu Python → Node.js i procedura rollback. OPCJONALNIE OCENIĆ ODDZIELNIE Prosta promocja techniczna bez nowego UI: — promocja jednego modelu po slug; — promocja listy slug; — przeniesienie potwierdzonych wartości shadow do produkcji; — techniczna weryfikacja po rollout. WYNIK — Pull Request; — migracje DB; — działająca integracja Python → Node.js; — Tryb Shadow; — UPSERT, STALE i transakcyjne aktualizacje; — uruchomienie po slug/id; — wdrożenie staging; — wyniki testu dymnego; — krótka dokumentacja; — nie mniej niż 7 dni na poprawki błędów w zrealizowanym zakresie po akceptacji. W ODPOWIEDZI WSKAZAĆ 1. Stała cena za obowiązkowy zakres. 2. Oddzielny koszt mechanizmu promocji. 3. Termin. 4. Ocena godzin. 5. Kiedy gotowi do rozpoczęcia. 6. Doświadczenie z transakcjami PostgreSQL, migracjami i pipeline'ami wczytywania. 7. Jakie pytania należy wyjaśnić przed rozpoczęciem. 8. Czy wliczone są staging, QA, migracje i okres naprawy błędów. Szablonowe odpowiedzi bez konkretnej oceny nie będą rozpatrywane. Dostęp do produkcji na pierwszym etapie nie jest udostępniany. Praca zaczyna się od ograniczonego przeglądu kodu i stagingu.
Dzień dobry, 1) zaktualizować jQuery** do aktualnej wersji (3.x) z podłączeniem jQuery Migrate 2) Dokładnie przetestować funkcjonalność aplikacji 3) i usunąć możliwe błędy, aby skrypty były ze sobą kompatybilne pod względem wersji tutaj trzeba całkowicie przepisać https://filtry.in.ua/assets/libs/libs.js pod nową wersję jQuery, ponieważ tam jest stary Bootstrap i wiele funkcji niestandardowych zapisanych
Opis: Należy stworzyć skrypt JavaScript do rozszerzenia Tampermonkey. Skrypt będzie działał w wewnętrznym systemie CRM.Logika działania: Skrypt ma odczytywać unikalny tekstowy ID bieżącego aktywnego dialogu na stronie (jest 5–10 różnych ID). W zależności od ID, skrypt pobiera odpowiednią tekstową instrukcję (System Prompt) z ustawień. Mapę parametrów po ID należy przenieść do osobnego wygodnego okna ustawień skryptu. Po pojawieniu się nowej wiadomości w oknie czatu, skrypt wysyła ten tekst wraz z promptem przez API OpenAI (model gpt-4o-mini). Otrzymaną odpowiedź skrypt wstawia w pole wprowadzania tekstu i inicjuje wysyłkę z losowym opóźnieniem od 20 do 45 sekund, aby zasymulować naturalną pracę operatora.Praca wyłącznie z tekstem. Budżet — 6000 zł. Czekam na oferty od programistów z doświadczeniem w pracy z OpenAI API oraz pisaniu skryptów automatyzacji przeglądarki.