PizzaYM
Projekt: PizzaYM — Nowoczesna Aplikacja Webowa do Zamawiania Pizzy
Opis projektu
PizzaYM to dynamiczna, interaktywna i intuicyjna aplikacja webowa stworzona do szybkiego i wygodnego zamawiania pizzy online. Głównym celem projektu jest zapewnienie użytkownikowi wysokiej jakości doświadczenia klienta (UX) od momentu wyboru składników do finalizacji dostawy, minimalizując liczbę kliknięć.
Stos technologii (Tech Stack)
Wybierz i pozostaw to, co zostało użyte w projekcie:
Frontend: HTML5, CSS3/SCSS, JavaScript (ES6+) / React.js / Vue.js
Zarządzanie stanem: Redux Toolkit / Context API / Pinia
Stylizacja: Tailwind CSS / Styled Components / Bootstrap
Backend & Baza danych: MySql
Narzędzia: Vite / Webpack, Git, GitHub
Kluczowa funkcjonalność, którą zrealizowałem
Interaktywny katalog produktów: Wygodna siatka pizz z dynamicznym filtrowaniem według kategorii (mięsne, wegetariańskie, ostre itp.) oraz sortowaniem według ceny lub popularności.
System koszyka (Cart System): Zrealizowano pełny cykl zarządzania koszykiem — dodawanie, usuwanie, zmiana ilości porcji, automatyczne przeliczanie całkowitych kosztów i ilości produktów w czasie rzeczywistym bez przeładowania strony.
Konfigurator produktu: Możliwość wyboru rozmiaru pizzy i rodzaju ciasta z dynamiczną zmianą ceny w zależności od wybranych parametrów.
Formularz składania zamówienia (Checkout): Walidacja danych użytkownika (imię, telefon, adres dostawy) przed wysłaniem zamówienia.
Responsywny design (Responsive Web Design): Strona jest w pełni zoptymalizowana pod wszystkie typy urządzeń — od telefonów komórkowych po szerokoekranowe monitory (podejście Mobile-first).
Moje osiągnięcia i wyzwania techniczne
Optymalizacja wydajności: Skonfigurowałem efektywne zarządzanie stanem aplikacji, co pozwoliło uniknąć zbędnych ponownych renderów komponentów podczas aktywnej pracy z koszykiem.
Czysty kod i architektura: Użyłem podejścia komponentowego, dzieląc logikę aplikacji i interfejs, co sprawia, że projekt jest łatwy do utrzymania i skalowania.
Praca z danymi asynchronicznymi: Zrealizowałem płynne ładowanie danych menu z serwera z obsługą stanów ładowania (Skeleton loaders) oraz możliwych błędów sieci.
Opis projektu
PizzaYM to dynamiczna, interaktywna i intuicyjna aplikacja webowa stworzona do szybkiego i wygodnego zamawiania pizzy online. Głównym celem projektu jest zapewnienie użytkownikowi wysokiej jakości doświadczenia klienta (UX) od momentu wyboru składników do finalizacji dostawy, minimalizując liczbę kliknięć.
Stos technologii (Tech Stack)
Wybierz i pozostaw to, co zostało użyte w projekcie:
Frontend: HTML5, CSS3/SCSS, JavaScript (ES6+) / React.js / Vue.js
Zarządzanie stanem: Redux Toolkit / Context API / Pinia
Stylizacja: Tailwind CSS / Styled Components / Bootstrap
Backend & Baza danych: MySql
Narzędzia: Vite / Webpack, Git, GitHub
Kluczowa funkcjonalność, którą zrealizowałem
Interaktywny katalog produktów: Wygodna siatka pizz z dynamicznym filtrowaniem według kategorii (mięsne, wegetariańskie, ostre itp.) oraz sortowaniem według ceny lub popularności.
System koszyka (Cart System): Zrealizowano pełny cykl zarządzania koszykiem — dodawanie, usuwanie, zmiana ilości porcji, automatyczne przeliczanie całkowitych kosztów i ilości produktów w czasie rzeczywistym bez przeładowania strony.
Konfigurator produktu: Możliwość wyboru rozmiaru pizzy i rodzaju ciasta z dynamiczną zmianą ceny w zależności od wybranych parametrów.
Formularz składania zamówienia (Checkout): Walidacja danych użytkownika (imię, telefon, adres dostawy) przed wysłaniem zamówienia.
Responsywny design (Responsive Web Design): Strona jest w pełni zoptymalizowana pod wszystkie typy urządzeń — od telefonów komórkowych po szerokoekranowe monitory (podejście Mobile-first).
Moje osiągnięcia i wyzwania techniczne
Optymalizacja wydajności: Skonfigurowałem efektywne zarządzanie stanem aplikacji, co pozwoliło uniknąć zbędnych ponownych renderów komponentów podczas aktywnej pracy z koszykiem.
Czysty kod i architektura: Użyłem podejścia komponentowego, dzieląc logikę aplikacji i interfejs, co sprawia, że projekt jest łatwy do utrzymania i skalowania.
Praca z danymi asynchronicznymi: Zrealizowałem płynne ładowanie danych menu z serwera z obsługą stanów ładowania (Skeleton loaders) oraz możliwych błędów sieci.