Implementacja Adobe Experience Manager do istniejącego systemu CMS

Celem projektu jest transformacja cyfrowa dzięki zaimplementowaniu Adobe Experience Manager (AEM) w kontekście CMS (systemu zarządzania treściami). Adobe Experience Manager to platforma do tworzenia, zarządzania, publikowania i optymalizowania treści cyfrowych na różnych kanałach, takich jak strony internetowe, aplikacje mobilne, e-maile marketingowe i inne.

Java, JavaScript, Typescript, CSS, jQuery, JSON, HTML5, WCM, Apache, JCR, MongoDB, Selenium, Junit, Maven, Jenkins, Angular, React, Node
Finanse i bankowość
12 miesięcy
Implementacja Adobe Experience Manager do istniejącego systemu CMS

Projekt

Celem projektu jest transformacja cyfrowa dzięki zaimplementowaniu Adobe Experience Manager (AEM) w kontekście CMS (systemu zarządzania treściami). Adobe Experience Manager to platforma do tworzenia, zarządzania, publikowania i optymalizowania treści cyfrowych na różnych kanałach, takich jak strony internetowe, aplikacje mobilne, e-maile marketingowe i inne. Dla klienta kluczowe były następujące aspekty:

  • Efektywne zarządzanie treściami na stronach internetowych: aktualizowanie informacji o produktach i usługach, publikowanie informacji korporacyjnych, dostarczanie treści edukacyjnych itp.
  • Personalizacja treści na podstawie danych klienta, zachowania online i profili użytkowników, umożliwiająca dostarczanie spersonalizowanych ofert, rekomendacji produktów i treści dostosowanych do indywidualnych potrzeb klientów.
  • Zarządzanie aktywami cyfrowymi (DAM) takimi jak obrazy, grafiki, dokumenty itp., ułatwiające ich przechowywanie, indeksowanie i udostępnianie.
  • Skoordynowanie komunikacji z klientami za pośrednictwem różnych kanałów, takich jak aplikacje mobilne, e-maile, media społecznościowe itp.
  • Elastyczne zarządzanie treściami przez zespoły marketingowe i treściowe bez konieczności posiadania zaawansowanej wiedzy technicznej. Wprowadzanie zmian, aktualizacje treści i dostosowania mogą być przeprowadzane w sposób szybki i intuicyjny.
  • Analiza danych i optymalizacja z pomocą narzędzi analitycznych, które pozwalają śledzić skuteczność treści, analizować zachowanie użytkowników i dostosowywać strategie komunikacyjne na podstawie danych.

Realizacja

Projekt został podzielony na 6 repozytoriów, z każdym komponentem przypisanym do jednego repozytorium. Zespół projektowy jest podzielony na 3 zespoły scrumowe. Każdy zespołów odpowiada za dwa główne repozytoria, ale ze względu na wspólną integrację komponentów i modułów commituje również do innych repozytoriów. Pozwala to na propagację wiedzy projektowej na każdy zespół i ułatwia współpracę. Projekt został również skonstruowany z myślą o Content Authorach, którzy odpowiadają za konsultacje techniczne, budowę w Adobe Experience Manager (AEM) oraz implementację nowych funkcjonalności.

Zespół

Poszczególne zespoły scrumowe tworzą:

  • 2x frontend developer,
  • 5x backend developer,
  • 4x QA Engineer (manualni i automatyzujący).

Dodatkowo w każdym zespole są:

  • 1x Product Owner,
  • 1x Scrum Master,
  • 1x Dev Tech Lead,
  • 1x QA Lead.

Osoby z j-labs zajmują się tworzeniem nakładki/aplikacji na system CMS opartej na platformie Adobe AEM oraz przeprowadzaniem testów tej aplikacji, zarówno manualnych, jak i automatycznych, w integracji z istniejącymi systemami i serwisami. Zakres prac obejmuje tworzenie frontendu, backendu, testy manualne (w tym eksploracyjne) oraz budowę i rozbudowę frameworku testowego. Dodatkowo zajmują się integracją z istniejącymi aplikacjami, tworząc spójną całość opartą na istniejących technologiach. Wdrażają nowoczesne rozwiązania i przeprowadzają refaktoryzację istniejących modułów.

Tworzona platforma jest aplikacją webową, dedykowaną dla wszystkich rodzajów przeglądarek oraz aplikacji mobilnych na systemach iOS i Android. Aplikacja jest rozwijana w języku Java 11, Service Pack 17. Framework testowy również jest oparty na języku Java, wersji 17, przy użyciu Selenium 4 oraz BDD.

Osoby z j‑labs uczestniczą we wszystkich fazach rozwoju oprogramowania:

  • Frontend i backend developerzy są odpowiedzialni za implementację nowych funkcjonalności, modyfikację istniejących, refaktoryzację kodu, utrzymanie kodu, naprawę błędów, pisanie testów jednostkowych, tworzenie paczek releasowych, udzielanie wsparcia w trybie on-call, budowanie środowisk, współpracę z pozostałymi zespołami oraz interesariuszami oraz bliską współpracę z QA engineerami w ramach projektu.
  • QA Engineerzy są odpowiedzialni za manualne i automatyczne testowanie nowych funkcjonalności, pisanie nowych scenariuszy testowych, tworzenie skryptów testowych, modyfikację istniejących scenariuszy testowych według potrzeb, zgłaszanie błędów, re-testowanie naprawionych błędów, przeprowadzanie regresji po każdej implementacji (w razie potrzeby), przeprowadzanie regresji przed wydaniem, budowanie środowisk, utrzymanie frameworka testowego, a także przeprowadzanie testów wydajnościowych wraz z analizą wyników.

Zarówno QA, jak i developerzy aktywnie uczestniczą we wszystkich spotkaniach scrumowych oraz w grupach wsparcia dla developerów i QA, które mają na celu podnoszenie umiejętności lub rozwiązanie konkretnych problemów. W tych grupach można również zgłaszać propozycje zmian w podejściu projektowym.

Rzuć nam wyzwanie i opowiedz o projekcie, który chcesz rozwinąć

Napisz nam, czego potrzebujesz, a w ciągu 48 godzin wrócimy do Ciebie, aby
porozmawiać o współpracy. Wypełnij formularz lub wyślij wiadomość na j-labs@j-labs.pl.

Pracuj ze specjalistami, którzy dostarczą najlepszy możliwy produkt

Skontaktuj się z nami