W skrócie:
Klient
AIcrowd
Kraj
Szwajcaria
Zakres projektu i technologie
Development w Ruby on Rails
Branża
Marketplace, edukacja
Skład zespołu
1 programista Ruby on Rails
Czas trwania
10 miesięcy (w toku)
AICrowd to marketplace, który pomaga firmom znaleźć ekspertów od machine learningu do swoich projektów. Startup przeszedł przez akcelerator YCombinator.
Klient przyszedł do nas z gotowym produktem: platformą dla ekspertów data science, którzy rozwiązują realne problemy. Była już uruchomiona, ale kod wymagał porządków. Czekało nas sporo refaktoryzacji i code review.
Mieliśmy usunąć błędy techniczne i zbudować architekturę, w której łatwiej o kod wysokiej jakości. Musieliśmy wprowadzić wiele poprawek, m.in. związanych z cross-site scriptingiem, czyli klasyczną techniką ataku w JS.
Pracy było dużo, bo przez długi czas projekt rozwijała tylko jedna osoba, od koncepcji do wdrożenia. Zespół urósł później do trzech osób, ale nowe funkcje, jak łatwo zgadnąć, miały pierwszeństwo przed refaktoryzacją. Właśnie dlatego klient zgłosił się do nas.
Po przejrzeniu kodu ustaliliśmy plan działania. Postawiliśmy na klasyczny agile z dwutygodniowymi sprintami, a jako technologię wybraliśmy Ruby on Rails.
Szybko okazało się, że w repozytorium jest sporo martwego kodu podatnego na ataki. Usunęliśmy te fragmenty i wdrożyliśmy bezpieczne rozwiązania, dzięki czemu kod łatwiej było przeglądać.
Platforma działa już od kilku lat, więc większość decyzji o architekturze i technologii zapadła dawno temu. Zmieniliśmy za to framework JS na StimulusJS, a zadania w tle obsługują Sidekiq i Redis. Do hostingu wykorzystaliśmy Heroku.
Największym wyzwaniem był dług techniczny aplikacji. Zrobiliśmy, co w naszej mocy, żeby go zmniejszyć. Staramy się dostarczać oprogramowanie wysokiej jakości, które łatwo utrzymać i modyfikować.
Piotr Paściak
Programista Ruby on Rails
Po drodze wciąż pojawiały się nowe problemy, np. zużycie pamięci na serwerze, które optymalizowaliśmy na bieżąco. Przeszliśmy też na webpacka, żeby łatwiej zarządzać JS-em.
Poprawiliśmy również synchronizację danych, tak aby wielu użytkowników mogło pracować nad jednym wyzwaniem w czasie rzeczywistym.
Udało nam się znacząco poprawić jakość kodu w repozytorium i wyeliminować większość błędów. Po zmianach i wprowadzeniu nowej architektury platforma jest stabilniejsza i zużywa mniej zasobów. Dodaliśmy moduł komunikacji, więc organizatorzy wyzwań piszą teraz bezpośrednio do uczestników. Wcześniej musieli prosić AICrowd o adres e-mail każdego z nich.
Refaktoryzacja uporządkowała istniejący kod i oczyściła go z martwych fragmentów. Dzięki temu kolejne zmiany da się wprowadzać szybciej i skuteczniej.
Usprawniliśmy też proces code review dzięki statycznej analizie kodu. Komentarze trafiają teraz do repozytorium automatycznie.
Nadal pracujemy z klientem i rozwijamy produkt. Pokazaliśmy, że potrafimy skutecznie wprowadzać usprawnienia, dzięki czemu projekt przerodził się w długofalową współpracę.
Daj nam znać, czego dokładnie potrzebujesz. Skompletujemy dla Ciebie zespół specjalistów idealnie dopasowany do Twojej branży, technologii i kultury organizacji.
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści
Ocena 4,8 / 5,0 od klientów z różnych branż i lokalizacji.