System zarządzania barem oparty na MACH: zwiększona wydajność oprogramowania i szybkość przetwarzania zamówień

Firma Innowise opracowała kolekcję zintegrowanych aplikacji zaprojektowanych w celu ułatwienia płynnej interakcji między gośćmi baru a personelem.

Klient

Branża
Gastronomia
Region
UE
Klient od
2018

Nasz klient prowadzi dużą sieć barów zatrudniającą ponad 2000 pracowników.

Zgodnie z warunkami umowy NDA, konkretne informacje o kliencie nie mogą zostać ujawnione.

Wyzwanie

Aby usprawnić operacje biznesowe, klient potrzebował oprogramowania, które obsługiwałoby działania związane z zarządzaniem zasobami ludzkimi, a także umożliwiało barom i klientom składanie, odbieranie i śledzenie zamówień.

Ze względu na różnorodność zadań wymaganych od rozwiązania, klient nie mógł polegać na aplikacjach o monolitycznej architekturze.

Rozwiązanie

Zespół programistów Innowise zaproponował rozwiązanie składające się z trzech oddzielnych aplikacji, z których każda obejmowałaby inny aspekt działalności klienta. Aplikacje te byłyby oparte na modułowej infrastrukturze i zintegrowane ze sobą.

Nasi eksperci stworzyli trzy aplikacje, dwie dla personelu i jedną dla klientów. Informacje o pracownikach musiały być zawarte w aplikacji korporacyjnej. Druga aplikacja miała na celu uproszczenie procesu obsługi poprzez wyświetlanie informacji o rezerwacji i zamówieniu klienta oraz umożliwienie mu przekazania ich do kuchni. Aplikacja dla klientów zawiera wygodny interfejs do rezerwacji stolików (i zmiany ich lokalizacji), formowania zamówień, zostawiania napiwków i dokonywania płatności.

Zespół zdecydował się oprzeć cały projekt na architekturze MACH, ponieważ pozwoliłoby to na płynną integrację kilku aplikacji z jednym backendem. Wiele wysiłku włożono w zaprojektowanie przyjaznych dla użytkownika interfejsów i dodanie najnowocześniejszych funkcji.

Architektura MACH

Aby umożliwić łatwą integrację i płynne dostosowywanie aplikacji klienta, inżynierowie Innowise zdecydowali się oprzeć rozwiązanie na architekturze opartej na MACH. W przeciwieństwie do architektury monolitycznej, MACH pozwala na dodawanie, wymianę lub usuwanie komponentów technicznych bez żadnych problemów. Infrastruktura obejmuje następujące aspekty:

  • Mikrousługi. Nasz zespół zdecydował się na wykorzystanie mikrousług do tworzenia niezależnych elementów funkcjonalności, które były również wdrażane oddzielnie. W ten sposób zespół może dodawać nowe funkcje do aplikacji klientów bez zakłóceń;
  • API. Zespół programistów wykorzystał interfejsy API do integracji mikrousług, a także do połączenia ich z odpowiednimi bazami danych;
  • Oprogramowanie natywne Cloud. Aby ułatwić przechowywanie danych i zarządzanie nimi, a także zwiększyć potencjał skalowalności, nasi eksperci wdrożyli rozwiązanie AWS infrastruktury;
  • Bezgłowy. Dzięki oddzieleniu backendu od front-endu, nasi programiści byli w stanie zintegrować kilka aplikacji za pomocą jednego narzędzia back-end, ułatwiając przepływ danych między warstwami.

 

W oparciu o tę infrastrukturę zespół Innowise zbudował trzy aplikacje, które zaspokajają potrzeby różnych podmiotów: wewnętrzny system CRM do zarządzania działaniami personelu, rozwiązanie do zarządzania barami do obsługi zamówień oraz aplikację skierowaną do użytkowników do składania zamówień i znajdowania lokalizacji barów.

Wewnętrzny CRM

Nasz zespół stworzył system CRM dostępny dla wszystkich pracowników firmy. System ten umożliwia użytkownikom monitorowanie danych związanych z pracą pracowników, w tym ich godzin pracy, okresów urlopowych i zwolnień lekarskich. Ze względu na zróżnicowane harmonogramy pracowników, klient poprosił również o opracowanie narzędzia do śledzenia listy płac.

Aplikacja do zarządzania barem

Nasz zespół stworzył aplikację mobilną zorientowaną na tablety, zaprojektowaną w celu zwiększenia wydajności personelu baru w obsłudze klientów. Gdy klient usiądzie, pracownicy mają możliwość bezpośredniego wprowadzania zamówień i przekazywania ich do zespołu kuchennego. Ponadto aplikacja ułatwia śledzenie rezerwacji lub zamówień, które muszą zostać zrealizowane w określonym czasie.

Aplikacja skierowana do użytkownika

Aplikację klienta można pobrać zarówno z App Store, jak i Google Play. Umożliwia ona użytkownikom rejestrację konta, lokalizowanie pobliskich barów za pomocą mapy oraz składanie zamówień do odbioru. Kluczowe funkcje obejmują również rezerwację miejsc, dostosowywanie układu oraz składanie zamówień z wyprzedzeniem. Następnie do aplikacji została zintegrowana opcja płatności. Dodatkowo, aplikacja obsługuje napiwki.

Technologie i narzędzia

Maszynopis, Redux, React

Go, Gorilla Mux, Viper, Go-Celery, Mongo-Go, Go-Migrate, gRPC

AWS EC2, AWS EKS, AWS ECR, AWS SNS, AWS SQS, AWS S3, AWS API Gateway, AWS CloudWatch, AWS Cognito, AWS MongoDB Atlas, AWS OpenSearch

Docker, Docker Compose, Kubernetes

CI/CD

Travis CI, Codefresh

MongoDB, Elasticsearch

Proces

Do nadzorowania procesu rozwoju przyjęliśmy metodologię Scrum. Przepływ pracy został podzielony na cotygodniowe sprinty, z których każdy obejmował dwa etapy: wprowadzanie nowych funkcjonalności i rozwiązywanie istniejących problemów. Wdrożenia były planowane co cztery sprinty.

Zespół

12

Programistów back-end

4

Programistów front-end

4

Programiści mobilni

1

Projektant UI/UX

1

Inżynier DevOps

2

Inżynierowie QA

Expected results

Innowise built a set of bar management applications based on MACH architecture. Thanks to the added flexibility, the client now has a complete ecosystem of applications synchronized on a single server that they can customize to fit their evolving needs. The solution also demonstrated better system performance and faster order processing, ensuring smooth and reliable operation across all applications.

The system comprises three applications: the enterprise app grants employees access to job-related info; the bar management application offers an interface that shows all seating arrangements and visitor orders; through a user-facing application, the guests can book tables, place orders, make payments, and tip the staff. This MACH-based ecosystem improves overall system performance and speeds up order and reservation processing while keeping data synchronized across apps.

Czas trwania projektu
  • Od 2020 r.
  • Projekt nadal trwa; zapewniamy utrzymanie systemu.

43%

wzrost wydajności systemu

32%

szybsze przetwarzanie zamówień i rezerwacji

    Skontaktuj się z nami

    Zarezerwuj połączenie lub wypełnij poniższy formularz, a my skontaktujemy się z Tobą po przetworzeniu Twojego zgłoszenia.

    Wyślij nam wiadomość głosową
    Załącz dokumenty
    Prześlij plik

    Można załączyć 1 plik o rozmiarze do 2 MB. Prawidłowe formaty plików: pdf, jpg, jpeg, png.

    Klikając przycisk Wyślij, użytkownik wyraża zgodę na przetwarzanie przez Innowise jego danych osobowych zgodnie z naszą polityką prywatności. Polityka prywatności ma na celu dostarczenie użytkownikowi odpowiednich informacji. Podając swój numer telefonu, użytkownik wyraża zgodę na kontaktowanie się z nim za pośrednictwem połączeń głosowych, wiadomości SMS i aplikacji do przesyłania wiadomości. Mogą obowiązywać opłaty za połączenia, wiadomości i transmisję danych.

    Możesz również przesłać nam swoje zapytanie
    na adres contact@innowise.com
    Co dalej?
    1

    Po otrzymaniu i przetworzeniu zgłoszenia skontaktujemy się z Tobą, aby szczegółowo opisać projekt i podpisać umowę NDA w celu zapewnienia poufności.

    2

    Po zapoznaniu się z Twoimi potrzebami i oczekiwaniami, nasz zespół opracuje projekt wraz z zakresem prac, wielkością zespołu, czasem i szacunkowymi kosztami.

    3

    Zorganizujemy spotkanie w celu omówienia oferty i ustalenia szczegółów.

    4

    Na koniec podpiszemy umowę, błyskawicznie rozpoczynając pracę nad projektem.

    strzałka