Edytor dokumentów w czasie rzeczywistym oparty na CRDT
119 przeglądów 0 opinii#42409
Budżet€800za projekt
FormatProjekt jednorazowybrak zaliczki
PłatnośćGotówka, Przelew bankowy
Odpowiedzi akceptowaneOkres odpowiedzi minąłdo 19.09.2026
Odpowiedzi0średnia w kategorii: 0,1
Widoki1196 w ciągu 14 dni
Opis projektu
Przetłumaczone
Potrzebujemy dewelopera do stworzenia edytora dokumentów osadzonego w naszej aplikacji internetowej z edytowaniem w czasie rzeczywistym. Zadanie wydaje się proste, ale zrobienie tego dobrze nie jest łatwe: dwie, pięć lub dwadzieścia osób powinno otworzyć ten sam dokument jednocześnie i edytować go równolegle, nigdy nie nadpisując nawzajem swoich zmian. Kiedy jedna osoba wpisuje frazę, wszyscy inni muszą widzieć, jak pojawia się ona litera po literze w ułamkach sekundy, a pozycje kursorów każdego uczestnika muszą pozostawać poprawne, nawet gdy tekst wokół nich ciągle się zmienia. Chcemy żywe kursory i zaznaczenia, kolorowane przez użytkownika, panel obecności z listą osób, które aktualnie są w dokumencie, oraz warstwę osadzonych komentarzy, gdzie można wyróżnić fragment, zostawić notatkę i zamknąć wątek dyskusji.
Wewnątrz, scalanie musi być bezkonfliktowe, więc oczekujemy silnika opartego na CRDT lub transformacjach operacyjnych, a nie na naiwnej zasadzie 'ostatni zapis wygrywa'. Równoczesne edycje z różnych klientów muszą konwergować do dokładnie tego samego stanu końcowego na każdej maszynie, niezależnie od kolejności dostarczania pakietów i opóźnień w sieci. Praca offline jest dla nas ważna: użytkownik, który traci połączenie, powinien móc kontynuować edytowanie lokalnie, a jego zmiany powinny automatycznie się pogodzić po przywróceniu połączenia, bez okna scalania i bez utraty wpisanych znaków. Potrzebujemy również pełnej historii wersji z nazwanymi migawkami, wizualnego kanału edycji oraz możliwości przywrócenia lub porównania dowolnej wcześniejszej wersji.
Transport powinien być zbudowany na WebSocket z automatycznym ponownym połączeniem i obsługą ciśnienia zwrotnego, a cały system musi skalować się na wielu dokumentach i wielu równoczesnych edytorach, aby serwer nie stał się wąskim gardłem. Prosimy, aby traktować to jako pracę produkcyjną: zależy nam na czystych API, testach dotyczących logiki scalania i jasnej dokumentacji, aby nasz zespół mógł utrzymać projekt w przyszłości.
— Żywe kursory, zaznaczenia i wskaźnik obecności dla każdego użytkownika — Silnik scalania CRDT/OT z gwarancją konwergencji — Edytowanie offline z automatycznym pogodzonym po ponownym połączeniu — Osadzone komentarze, wątki dyskusji i pełna historia wersji