Catering
System dla firmy oferującej catering dietetyczny
Elastyczność oprogramowania i możliwość jego rozbudowy są ważnymi cechami naszych projektów. Przykładem jest system dla firmy oferującej catering dietetyczny. Klient stawia na jakość i smak posiłków oraz menu przygotowywane przez wykwalifikowanych dietetyków. Wraz z rozwojem działalności dostrzegł ograniczenia dotychczasowego oprogramowania. Potrzebował elastycznego systemu z funkcjami niedostępnymi w gotowych rozwiązaniach, aby sprawniej działać i budować przewagę konkurencyjną.
Cele i założenia
Celem współpracy było stworzenie systemu obejmującego wymagane funkcje i umożliwiającego dodawanie kolejnych. Rosnąca skala działalności wymagała uporządkowania i automatyzacji procesów. Klient chciał rozwijać własne rozwiązania i dostosowywać je do nowych potrzeb. Gotowe produkty nie spełniały tych wymagań, dlatego zdecydował się na oprogramowanie tworzone na zamówienie.
Firma chciała utrzymać pozycję wśród trzech czołowych dostawców cateringu dietetycznego w Polsce. Dotychczasowe oprogramowanie utrudniało wprowadzanie zmian i nie odpowiadało na część potrzeb rynku. Klient zamierzał rozbudować ofertę, wprowadzić dodatkowe funkcje i ograniczyć ręczne sterowanie produkcją.
Przebieg projektowania
Współpracę rozpoczęliśmy od dwóch pilnie potrzebnych narzędzi: aplikacji wspierającej obsługę klientów i programu do generowania etykiet na pudełka z posiłkami. Później zintegrowaliśmy je z głównym systemem. Równolegle analizowaliśmy potrzeby firmy. Ponieważ klient nie miał wcześniej doświadczenia z tworzeniem oprogramowania od podstaw, wyjaśnialiśmy proces prac oraz ocenialiśmy wykonalność i opłacalność pomysłów.
Aby dobrze poznać potrzeby klienta, obserwowaliśmy działanie firmy i jej procesy. Pozwoliło nam to zaproponować rozwiązania uwzględniające przyszły rozwój. Ważnym etapem był projekt modelu danych, obejmujący diagramy UML. Zadbaliśmy o możliwość późniejszej rozbudowy, integracji i zmian.
Po przygotowaniu projektu rozpoczęliśmy programowanie. Każdy moduł przekazywaliśmy klientowi do testów, aby na bieżąco weryfikować efekty i dostosowywać je do oczekiwań. Elastyczne podejście umożliwiało wdrażanie aplikacji na kolejnych etapach produkcji i stopniowe dostarczanie wartości biznesowej.
Projektowanie i wdrażanie wymagało znacznego nakładu pracy, dlatego zapewnialiśmy klientowi wsparcie ograniczające obciążenie jego zespołu. Firma pracuje w systemie trzyzmianowym, przez całą dobę i siedem dni w tygodniu. Przełączenie systemów przeprowadziliśmy nocą, kiedy z oprogramowania korzystało najmniej osób. Wcześniej przeszkoliliśmy pracowników.
Skala projektu i oczekiwany termin realizacji wymagały wsparcia kilku firm programistycznych w modelu body leasing. Weryfikowaliśmy kompetencje programistów oraz zgodność ich pracy z przyjętymi zasadami. Ujednolicenie metod pracy całego zespołu pozwoliło zachować jakość i spójność rozwiązania.
Współpraca obejmuje utrzymanie systemu, jego rozwój i bieżące wsparcie. Nadal dodajemy funkcje, które pomagają klientowi utrzymać przewagę konkurencyjną. Omawiamy pomysły, oceniamy nakład pracy i opłacalność, a następnie wdrażamy rozwiązania wspierające biznes. Pełnimy również rolę właściciela produktu (Product Owner), zapewniając ciągłość rozwoju aplikacji.
Wdrożone rozwiązania
System powstał przede wszystkim w PHP, z wykorzystaniem Laravel i Vue.js. Aplikacja jest hostowana na serwerach VPS w dużym europejskim centrum danych, a baza MySQL działa w architekturze chmurowej. Konfigurujemy i utrzymujemy oddzielne środowiska deweloperskie, testowe i produkcyjne. Serwery korzystają z Ubuntu LTS, NGINX, PHP-FPM oraz UFW i Fail2Ban.
Ważnym obszarem rozwoju jest sztuczna inteligencja i uczenie maszynowe. Od początku projektowaliśmy aplikację tak, aby zbierała dane w formacie i zakresie przydatnym do budowania modeli. Po zgromadzeniu pierwszych większych zbiorów rozpoczęliśmy prace nad zastosowaniem AI do usprawniania procesów.
Analiza możliwości optymalizacji wskazała wiele obszarów zastosowania uczenia maszynowego. Skupiliśmy się na dwóch: prognozowaniu popytu i sprzedaży oraz wsparciu biura obsługi klienta. Prognozy powiązane z menu, recepturami i składnikami pozwalają wcześniej planować zamówienia u dostawców i uzyskiwać korzystniejsze warunki zakupu.
Elementy systemu i ich funkcje
System obejmuje moduły publiczne, pracownicze i przeznaczone dla klientów. Każdy z nich odpowiada na konkretne potrzeby firmy. Najważniejsze elementy to:
Prezentacja oferty i obsługa zamówień klientów
-
Elastyczna, modułowa architektura aplikacji
-
Publiczny formularz z zabezpieczeniami przed niepożądanym ruchem
-
Obsługa koszyka zamówień
-
Dynamicznie generowana oferta
-
Integracje z operatorami płatności, w tym płatnościami odroczonymi
Moduł CRM
-
Wielokanałowa komunikacja z klientami
-
Automatyzacja obsługi klienta, ograniczająca pracę ręczną
-
Zarządzanie zadaniami pracowników
-
Integracje z wewnętrznymi i zewnętrznymi narzędziami automatyzacji marketingu
-
Program lojalnościowy z zaawansowanymi algorytmami naliczania punktów
Panel klienta
-
Narzędzie do samodzielnego zarządzania zamówieniami, łączące zabezpieczenia z wygodą korzystania
-
Informacje o rozliczeniach klienta i zgromadzonych punktach lojalnościowych oraz możliwość ich wykorzystania
-
Ocenianie posiłków przez klientów
Moduł obsługi reklamacji
-
Ewidencja zgłoszeń
-
Automatyzacja procesów
-
Wsparcie finansowego rozliczania reklamacji
-
Zaawansowane raportowanie
Wewnętrzne forum, baza wiedzy i wiki
-
Gromadzenie i wymiana informacji między pracownikami
-
Zabezpieczenia przed nieuprawnionym udostępnianiem wiedzy firmowej
Udostępnianie nagrań wideo
-
Obsługa programu „Śniadanie z…”
-
Ograniczenia pobierania nagrań, limity odtworzeń i ewidencja oglądania
-
Program motywacyjny dla klientów
Baza obszarów dostaw
-
Zasięg oferty określany z dokładnością do ulicy i aktualizowany wraz ze zmianami obszaru dostaw
-
Automatyczna weryfikacja dostępności diety pod danym adresem i wyliczanie kosztu dostawy
-
Integracje z firmami transportowymi
Moduł kuchni
-
Zaawansowany moduł produkcyjny
-
Baza receptur, składników i współczynników obróbki termicznej oraz mechanicznej
-
Model danych łączący składniki, receptury, dania i menu, aby dietetycy mogli sprawdzić zawartość makroskładników i mikroskładników, w tym witamin, w posiłkach klienta
-
Zarządzanie menu z automatyzacjami i podpowiedziami ułatwiającymi pracę
-
Raporty dopasowane do poszczególnych stanowisk w procesie produkcji
Moduły zarządcze
-
Raporty finansowe
-
Prognozy finansowe i prognozowanie popytu
-
Automatyczne gromadzenie danych o kosztach i przychodach
-
Moduł kasy
Ewidencja czasu pracy pracowników
-
Autorski skaner kodów QR i raporty dla kadr oraz księgowości
Moduł magazynowy
-
System WMS z automatycznym przeliczaniem jednostek i obsługą zaopatrzenia
-
Aplikacja zawiera również mniejsze moduły i jest stale rozwijana o nowe funkcje.
Podsumowanie
Kompleksowe podejście pozwoliło stworzyć dedykowany system obejmujący wiele obszarów działalności firmy. Elastyczna architektura ułatwia modyfikacje i rozbudowę, a zastosowanie AI wspiera optymalizację procesów. Rozwiązanie odpowiada na wymagania klienta i umożliwia dalszy rozwój biznesu.
