Frontend został oparty o stylistykę przyjętą przez firmę zlecającą. Uruchomiony został w technologii "Boostrap" wraz z wykorzystaniem kilku bibliotek jQuery w celu obsługi wyskakujących powiadomień dla pracownika oraz okienek wyskakujących ("modali"). Ponadto większość fukcji działających w kreatorze ofert jest kontrolowana poprzez JavaScript, a wszystkie wartości liczone są w locie i prezentowane w odpowiednich polach.
Backend został stworzony w oparciu o język PHP w wersji 7.3 i udostępnia interfejs REST API dla innego dedykowanego produktu mojego autorstwa - punktu obsłgi zamówień. Dane przechowywane są w bazie danych MySQL.
Aplikacja dostępna jest tylko dla zalogowanych pracowników biurowych i udostępnia funkcjonalności takie jak:
- Tworzenie nowych zamówień według dostarczonych wytycznych wraz z tworzeniem poszczególnych pozycji wewnątrz zamówienia,
- Podgląd i filtrowanie zamówień według wybranych kolumn. Wewnątrz podglądu zamówienia można:
- Przeglądać podstawowe dane zamówienia,
- Monitorować poszczególne pozycje zamówienia, ich dane, statusy, czasy i odpowiedzialne za ich zmiany osoby,
- Sprawdzać metraż poszczególnych pozycji,
- Wygenerować etykiety dla poszczeólnych pozycji,
- Wygenerować formularz zamówienia w formacie .pdf oraz listę zbiorczą
- Zmieniać statusy dla poszczególnych pozycji, a także ustawiać dla nich komentarze,
- Przeglądać paczki utworzone przez punkt obsłgi zamówień,
- Tworzyć oferty handlowe za pomocą zaawansowanego interaktywnego kreatora, opartego o założenia przekazane przez Zamawiającego,
- Generować i kompletować, w sposób automatyczny, oferty w formacie PDF,
- Przeglądać utworzone oferty według ustalonych kolumn,
- Zarządzać pracownikami oraz ich kartami dostępowymi,
- Generować raport obecności oraz przepracowanych godzin i nadgodzin dla każego z pracowników za wybrany czas.
Część serwerowa została uruchomiona na serwerze zdalnym. Za sprawdzanie obecności odpowiedzialne jest urządzenie autorskie urządzenie presenceBox() oraz punkt obsłgi zamówień.
Z uwagi na rodzaj współpracy z Klientem, w tym miejscu nie mogę zamieścić zrzutów prezentujących aplikację.