It is my next React project. It is an application that, despite its small size, is relatively complex:
- custom hooks
useHttp
(for HTTP requests) anduseInput
(for getting and validating single input); - configuring Firebase Realtime Database;
- sending
get
andpost
requests to Firebase API (handling possible errors); - Framer-motion library used to create a draggy products carousel;
- building & using a custom
ContextProvider
components; - creating central place for cart state & logic, managing cart state with
useReducer
's function and providingvalue
to children components viaContext.Provider
; - managing checkout form validation & handling possible errors;
- basic performance optimization (memoization).
I designed the app in natural Earthy colors, in an old-school style.
๐ฅฆ๐ฅ๐๐ hello! smoothie - LIVE