How dhanunjaya23-02-2006/shine-ecommerce works
This is a React/Redux online shop. Shoppers browse a fetched, filterable and sortable catalog, open product details, and manage a cart; the app also provides account, login and registration pages. App routes to the page components, while Redux holds catalog, cart and user state. The README documents Firebase email/password and Google authentication. Some page and authentication implementations were not sampled, so those links reflect documented behavior rather than inspected call details.
Main entry points: App.js Route app · CartSlice.js Cart state · store.js Redux store · ProductsPage.jsx Products page
Components 19
App navigation
- Route app
src/App.js - Navigation bar
src/components/Navbar.jsx - Footer
src/components/Footer.jsx - Home page
src/pages/HomePage.jsx - Invalid-route page
src/pages/ErrorPage.jsx
Product catalog
- Products page
src/pages/ProductsPage.jsx - Product listing
src/components/Products.jsx - Product detail
src/pages/ProductsItemPage.jsx
Cart and account
- Cart page
src/pages/CartPage.jsx - Account page
src/pages/AccountPage.jsx - Login page
src/pages/LoginPage.jsx - Registration page
src/pages/RegisterPage.jsx
Application state
- Catalog state and API
src/features/products/ProductsSlice.js - Cart state
src/features/cart/CartSlice.js - Auth selector
src/hooks/useAuth.js - User state
src/features/user/UserSlice.js - Redux store
src/app/store.js
Other components
- Shopper
- Firebase Auth
Connections 25
- Shopper → Route app: opens shop
README.md - Route app → Navigation bar: renders
src/App.js - Route app → Footer: renders
src/App.js - Route app → Home page: routes to
src/App.js - Route app → Products page: routes to
src/App.js - Route app → Product detail: routes to
src/App.js - Route app → Cart page: routes to
src/App.js - Route app → Account page: routes to
src/App.js - Route app → Login page: routes to
src/App.js - Route app → Registration page: routes to
src/App.js - Route app → Invalid-route page: routes to
src/App.js - Products page → Product listing: renders
src/pages/ProductsPage.jsx - Product listing → Catalog state and API: fetches and selects
src/components/Products.jsx - Products page → Catalog state and API: filters and sorts
src/pages/ProductsPage.jsx - Product detail → Cart state: dispatches cart actions
src/pages/ProductsItemPage.jsx - Cart page → Cart state: reads cart
src/pages/CartPage.jsx - Navigation bar → Cart state: reads cart count
src/components/Navbar.jsx - Account page → Auth selector: checks authentication
src/pages/AccountPage.jsx - Auth selector → User state: selects user state
src/hooks/useAuth.js - Account page → User state: dispatches user actions
src/pages/AccountPage.jsx - Redux store → Catalog state and API: registers reducer
src/app/store.js - Redux store → Cart state: registers reducer
src/app/store.js - Redux store → User state: registers reducer
src/app/store.js - Login page → Firebase Auth: authenticates
README.md - Registration page → Firebase Auth: registers user
README.md