For Vendors & Customers
Vendors/Admin Dashboard is available
Comes with a mobile app compatible with Android & iOS devices
shop-c.mp4
- π Table of Contents
- π Overview
- π¦ Features
- π repository Structure
- βοΈ Modules
- π Getting Started
- π£ Roadmap
- π€ Contributing
- π License
- π Acknowledgments
E-commerce software that levarages the MERN stack. The live website is available at https://shop.josetolentino.site/ and the mobile application project can be found at https://github.com/jatolentino/Shop-Ecommerce-app
Features | Customer | Vendor | Admin | Website |
---|---|---|---|---|
Users Registration | βοΈ | βοΈ | βοΈ | βοΈ |
Users Login/Logout | βοΈ | βοΈ | βοΈ | βοΈ |
Reset Password | βοΈ | βοΈ | βοΈ | βοΈ |
Dashboard | βοΈ | βοΈ | βοΈ | βοΈ |
Chat | βοΈ | βοΈ | βοΈ | βοΈ |
Add/Edit Products | β | βοΈ | βοΈ | βοΈ |
Add Products to your cart | βοΈ | βοΈ | β | βοΈ |
Add Products to your favorites | βοΈ | βοΈ | β | βοΈ |
Search/filter products | βοΈ | βοΈ | βοΈ | βοΈ |
Credit/Debit card payment | βοΈ | βοΈ | βοΈ | βοΈ |
PayPal payment | βοΈ | βοΈ | βοΈ | βοΈ |
Product tracking | βοΈ | βοΈ | βοΈ | βοΈ |
Rating Products | βοΈ | βοΈ | βοΈ | βοΈ |
Add Users | β | β | βοΈ | βοΈ |
SEO | β | β | βοΈ | βοΈ |
Blog | β | β | βοΈ | βοΈ |
Terms & Condition | β | β | βοΈ | βοΈ |
Privacy & Policy | β | β | βοΈ | βοΈ |
Newsletter Subscription | β | β | βοΈ | βοΈ |
FAQs | β | β | βοΈ | βοΈ |
βββShop-Ecommerce
βββ .gitignore
βββ client
βΒ Β βββ package.json
βΒ Β βββ public
βΒ Β βΒ Β βββ favicon.ico
βΒ Β βΒ Β βββ favicon.png
βΒ Β βΒ Β βββ favicon.svg
βΒ Β βΒ Β βββ index.html
βΒ Β βΒ Β βββ logo192.png
βΒ Β βΒ Β βββ logo512.png
βΒ Β βΒ Β βββ manifest.json
βΒ Β βΒ Β βββ robots.txt
βΒ Β βββ src
βΒ Β βββ App.js
βΒ Β βββ App.test.js
βΒ Β βββ assets
βΒ Β βΒ Β βββ css
βΒ Β βΒ Β βΒ Β βββ bootstrap.min.css
βΒ Β βΒ Β βΒ Β βββ boxicon.min.css
βΒ Β βΒ Β βΒ Β βββ dark
βΒ Β βΒ Β βΒ Β βΒ Β βββ dark.css
βΒ Β βΒ Β βΒ Β βΒ Β βββ dark.scss
βΒ Β βΒ Β βΒ Β βββ flaticon.min.css
βΒ Β βΒ Β βΒ Β βββ responsive.min.css
βΒ Β βΒ Β βΒ Β βββ terms.css
βΒ Β βΒ Β βββ fonts
βΒ Β βΒ Β βΒ Β βββ boxicons.eot
βΒ Β βΒ Β βΒ Β βββ boxicons.svg
βΒ Β βΒ Β βΒ Β βββ boxicons.ttf
βΒ Β βΒ Β βΒ Β βββ boxicons.woff
βΒ Β βΒ Β βΒ Β βββ boxicons.woff2
βΒ Β βΒ Β βΒ Β βββ Flaticon.eot
βΒ Β βΒ Β βΒ Β βββ Flaticon.svg
βΒ Β βΒ Β βΒ Β βββ Flaticon.ttf
βΒ Β βΒ Β βΒ Β βββ Flaticon.woff
βΒ Β βΒ Β βΒ Β βββ Flaticon.woff2
βΒ Β βΒ Β βββ img
βΒ Β βΒ Β βΒ Β βββ 404.png
βΒ Β βΒ Β βΒ Β βββ arab.png
βΒ Β βΒ Β βΒ Β βββ arrivalsproducts
βΒ Β βΒ Β βΒ Β βΒ Β βββ arrivalsproducts1.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ arrivalsproducts2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ arrivalsproducts3.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ arrivalsproducts4.jpg
βΒ Β βΒ Β βΒ Β βββ bestsellers-products
βΒ Β βΒ Β βΒ Β βΒ Β βββ bestsellers-products-1.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ bestsellers-products-2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ bestsellers-products-3.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ bestsellers-products-4.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ bestsellers-products-5.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ bestsellers-products-6.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ bestsellers-products-7.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ bestsellers-products-8.jpg
βΒ Β βΒ Β βΒ Β βββ blog
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-10.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-11.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-12.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-1.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-3.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-4.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-5.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-6.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-7.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-8.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ blog-9.jpg
βΒ Β βΒ Β βΒ Β βββ blog-10.jpg
βΒ Β βΒ Β βΒ Β βββ blog-details.jpg
βΒ Β βΒ Β βΒ Β βββ card-background
βΒ Β βΒ Β βΒ Β βΒ Β βββ 10.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 11.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 12.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 13.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 14.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 15.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 16.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 17.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 18.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 19.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 1.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 20.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 21.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 22.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 23.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 24.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 25.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 2.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 3.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 4.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 5.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 6.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 7.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 8.jpeg
βΒ Β βΒ Β βΒ Β βΒ Β βββ 9.jpeg
βΒ Β βΒ Β βΒ Β βββ card-type
βΒ Β βΒ Β βΒ Β βΒ Β βββ amex.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ diners.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ discover.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ mastercard.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ troy.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ unionpay.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ visa.png
βΒ Β βΒ Β βΒ Β βββ cart
βΒ Β βΒ Β βΒ Β βΒ Β βββ cart-1.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ cart-2.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ cart-3.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ cart-4.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ cart-5.png
βΒ Β βΒ Β βΒ Β βββ catavatar.jpg
βΒ Β βΒ Β βΒ Β βββ china.png
βΒ Β βΒ Β βΒ Β βββ chip.png
βΒ Β βΒ Β βΒ Β βββ collection
βΒ Β βΒ Β βΒ Β βΒ Β βββ collection-1.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ collection-2.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ lights.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ micro.png
βΒ Β βΒ Β βΒ Β βββ english.png
βΒ Β βΒ Β βΒ Β βββ featured
βΒ Β βΒ Β βΒ Β βΒ Β βββ featured-1.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ featured-2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ featured-3.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ featured-4.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ featured-5.jpg
βΒ Β βΒ Β βΒ Β βββ germany.png
βΒ Β βΒ Β βΒ Β βββ hot-products
βΒ Β βΒ Β βΒ Β βΒ Β βββ hot-products-1.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ hot-products-2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ hot-products-3.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ hot-products-4.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ hot-products-5.jpg
βΒ Β βΒ Β βΒ Β βββ loginvendor.jpg
βΒ Β βΒ Β βΒ Β βββ logo-2.png
βΒ Β βΒ Β βΒ Β βββ logo.png
βΒ Β βΒ Β βΒ Β βββ logoShop.svg
βΒ Β βΒ Β βΒ Β βββ main-slider
βΒ Β βΒ Β βΒ Β βΒ Β βββ clothes1.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ headphone1.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ landing.jpg
βΒ Β βΒ Β βΒ Β βββ mission.jpg
βΒ Β βΒ Β βΒ Β βββ modal-newsletter.png
βΒ Β βΒ Β βΒ Β βββ offer-products
βΒ Β βΒ Β βΒ Β βΒ Β βββ large-offer-products.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ offer-products-1.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ offer-products-2.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ offer-products-3.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ offer-products-4.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ offer-products-5.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ offer-products-6.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ offer-products-7.png
βΒ Β βΒ Β βΒ Β βββ overview
βΒ Β βΒ Β βΒ Β βΒ Β βββ clothes1.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ clothes.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ overview1.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ overview2.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ table.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ tshirt.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ T-Shirt.png
βΒ Β βΒ Β βΒ Β βββ partner
βΒ Β βΒ Β βΒ Β βΒ Β βββ adidas.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ adidas.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ apple.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ asus.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ dell.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ gucci.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ gucci.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ huawei.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ luigi.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ msi.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ nike.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ partner-1.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ partner-2.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ partner-3.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ partner-4.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ partner-5.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ rolex.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ samsung.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ sony.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ sony.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ versage.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ xiomi.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ Zara_Logo.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ zara.svg
βΒ Β βΒ Β βΒ Β βββ portugal.png
βΒ Β βΒ Β βΒ Β βββ quick-view
βΒ Β βΒ Β βΒ Β βΒ Β βββ quick-view-1.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ quick-view-2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ quick-view-3.jpg
βΒ Β βΒ Β βΒ Β βββ shop
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-10.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-11.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-12.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-13.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-14.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-15.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-1.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-3.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-4.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-5.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-6.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-7.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-8.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ shop-9.jpg
βΒ Β βΒ Β βΒ Β βββ special-products
βΒ Β βΒ Β βΒ Β βΒ Β βββ freeze.png
βΒ Β βΒ Β βΒ Β βΒ Β βββ special-products-1.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ special-products-2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ special-products-3.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ special-products-bg-2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ special-products-bg.jpg
βΒ Β βΒ Β βΒ Β βββ story.jpg
βΒ Β βΒ Β βΒ Β βββ team
βΒ Β βΒ Β βΒ Β βΒ Β βββ team-1.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ team-2.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ team-3.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ team-4.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ team-5.jpg
βΒ Β βΒ Β βΒ Β βΒ Β βββ team-6.jpg
βΒ Β βΒ Β βΒ Β βββ terms-of-service.jpg
βΒ Β βΒ Β βΒ Β βββ track-order.jpg
βΒ Β βΒ Β βΒ Β βββ vision.jpg
βΒ Β βΒ Β βββ overview
βΒ Β βΒ Β βββ overview-1.png
βΒ Β βΒ Β βββ overview-2.png
βΒ Β βββ components
βΒ Β βΒ Β βββ About
βΒ Β βΒ Β βΒ Β βββ ComingSoonArea.jsx
βΒ Β βΒ Β βΒ Β βββ CompareArea.jsx
βΒ Β βΒ Β βΒ Β βββ ContactArea.jsx
βΒ Β βΒ Β βΒ Β βββ Data.js
βΒ Β βΒ Β βΒ Β βββ ErrorArea.jsx
βΒ Β βΒ Β βΒ Β βββ FaqsArea.jsx
βΒ Β βΒ Β βΒ Β βββ Founders.jsx
βΒ Β βΒ Β βΒ Β βββ FunFactArea.jsx
βΒ Β βΒ Β βΒ Β βββ Map.jsx
βΒ Β βΒ Β βΒ Β βββ MissionArea.jsx
βΒ Β βΒ Β βΒ Β βββ PricingArea.jsx
βΒ Β βΒ Β βΒ Β βββ Privacy.jsx
βΒ Β βΒ Β βΒ Β βββ PrivacyPolicyArea.jsx
βΒ Β βΒ Β βΒ Β βββ SearchArea.jsx
βΒ Β βΒ Β βΒ Β βββ StoryArea.jsx
βΒ Β βΒ Β βΒ Β βββ TeamMembers.jsx
βΒ Β βΒ Β βΒ Β βββ Terms.jsx
βΒ Β βΒ Β βΒ Β βββ TermsOfServiceArea.jsx
βΒ Β βΒ Β βΒ Β βββ TrackingOrderArea.jsx
βΒ Β βΒ Β βΒ Β βββ VisionArea.jsx
βΒ Β βΒ Β βββ Auth
βΒ Β βΒ Β βΒ Β βββ LoginArea.jsx
βΒ Β βΒ Β βΒ Β βββ loginarea.scss
βΒ Β βΒ Β βΒ Β βββ LoginArea.test.jsx
βΒ Β βΒ Β βΒ Β βββ LoginAreaVendor.jsx
βΒ Β βΒ Β βΒ Β βββ PasswordResetArea.jsx
βΒ Β βΒ Β βΒ Β βββ RegisterArea.jsx
βΒ Β βΒ Β βββ Blog
βΒ Β βΒ Β βΒ Β βββ BlogArea.jsx
βΒ Β βΒ Β βΒ Β βββ BlogDetailsArea.jsx
βΒ Β βΒ Β βΒ Β βββ BlogLeftSidbarArea.jsx
βΒ Β βΒ Β βΒ Β βββ BlogListViewArea.jsx
βΒ Β βΒ Β βΒ Β βββ __blogs__
βΒ Β βΒ Β βΒ Β βββ Blogs.jsx
βΒ Β βΒ Β βββ Common
βΒ Β βΒ Β βΒ Β βββ BestSellers.jsx
βΒ Β βΒ Β βΒ Β βββ Collection.jsx
βΒ Β βΒ Β βΒ Β βββ LatestNews.jsx
βΒ Β βΒ Β βΒ Β βββ NewArrivals.jsx
βΒ Β βΒ Β βΒ Β βββ PageTitle.jsx
βΒ Β βΒ Β βΒ Β βββ PageTitleVendor.jsx
βΒ Β βΒ Β βΒ Β βββ Partner.jsx
βΒ Β βΒ Β βΒ Β βββ Preloader.jsx
βΒ Β βΒ Β βΒ Β βββ SpecialOffer.jsx
βΒ Β βΒ Β βΒ Β βββ SpecialProducts.jsx
βΒ Β βΒ Β βΒ Β βββ Support.jsx
βΒ Β βΒ Β βΒ Β βββ SupportTwo.jsx
βΒ Β βΒ Β βΒ Β βββ Testimonial.jsx
βΒ Β βΒ Β βββ Ecommerce
βΒ Β βΒ Β βΒ Β βββ Chart
βΒ Β βΒ Β βΒ Β βΒ Β βββ Chart.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ chart.scss
βΒ Β βΒ Β βΒ Β βββ CustomersTable
βΒ Β βΒ Β βΒ Β βΒ Β βββ CustomersTable.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ customerstable.scss
βΒ Β βΒ Β βΒ Β βΒ Β βββ CustomerTableSource.jsx
βΒ Β βΒ Β βΒ Β βββ Featured
βΒ Β βΒ Β βΒ Β βΒ Β βββ Featured.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ featured.scss
βΒ Β βΒ Β βΒ Β βββ Navbar
βΒ Β βΒ Β βΒ Β βΒ Β βββ Navbar.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ navbar.scss
βΒ Β βΒ Β βΒ Β βββ OrdersTable
βΒ Β βΒ Β βΒ Β βΒ Β βββ OrdersTable.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ orderstable.scss
βΒ Β βΒ Β βΒ Β βββ ProductsTable
βΒ Β βΒ Β βΒ Β βΒ Β βββ Datatable1.test.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Datatable2.test.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Datatable3.test.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Datatable.test.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ ProductsTable.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ productstable.scss
βΒ Β βΒ Β βΒ Β βΒ Β βββ ProductsTableSource.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ UserColumns.test.jsx
βΒ Β βΒ Β βΒ Β βββ Sidebar
βΒ Β βΒ Β βΒ Β βΒ Β βββ Sidebar.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ sidebar.scss
βΒ Β βΒ Β βΒ Β βΒ Β βββ Sidebar.test.jsx
βΒ Β βΒ Β βΒ Β βββ Table
βΒ Β βΒ Β βΒ Β βΒ Β βββ Table.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ table.scss
βΒ Β βΒ Β βΒ Β βββ VendorsTable
βΒ Β βΒ Β βΒ Β βΒ Β βββ VendorsTable.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ vendorstable.scss
βΒ Β βΒ Β βΒ Β βΒ Β βββ VendorTableSource.jsx
βΒ Β βΒ Β βΒ Β βββ Widget
βΒ Β βΒ Β βΒ Β βββ Widget.jsx
βΒ Β βΒ Β βΒ Β βββ widget.scss
βΒ Β βΒ Β βββ Footer
βΒ Β βΒ Β βΒ Β βββ Footer.jsx
βΒ Β βΒ Β βββ Home
βΒ Β βΒ Β βΒ Β βββ Home-four
βΒ Β βΒ Β βΒ Β βΒ Β βββ Banner.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ FeaturedArea.jsx
βΒ Β βΒ Β βΒ Β βββ Home-one
βΒ Β βΒ Β βΒ Β βΒ Β βββ Banner.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Overview.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ SpecialOffer.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ SpecialProducts.jsx
βΒ Β βΒ Β βΒ Β βββ Home-three
βΒ Β βΒ Β βΒ Β βΒ Β βββ Banner.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ FeaturedArea.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ HotProductsArea.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ OfferProductsArea.jsx
βΒ Β βΒ Β βΒ Β βββ Home-two
βΒ Β βΒ Β βΒ Β βββ Banner.jsx
βΒ Β βΒ Β βΒ Β βββ Category.jsx
βΒ Β βΒ Β βΒ Β βββ FeaturedArea.jsx
βΒ Β βΒ Β βββ Layout
βΒ Β βΒ Β βΒ Β βββ MiddleHeader.css
βΒ Β βΒ Β βΒ Β βββ MiddleHeader.jsx
βΒ Β βΒ Β βΒ Β βββ Navbar.jsx
βΒ Β βΒ Β βΒ Β βββ TopHeader.css
βΒ Β βΒ Β βΒ Β βββ TopHeader.jsx
βΒ Β βΒ Β βββ Products
βΒ Β βΒ Β βΒ Β βββ AddProductArea.jsx
βΒ Β βΒ Β βΒ Β βββ ProductsArea.jsx
βΒ Β βΒ Β βΒ Β βββ QuickView.css
βΒ Β βΒ Β βΒ Β βββ QuickView.jsx
βΒ Β βΒ Β βΒ Β βββ validateinfo.js
βΒ Β βΒ Β βββ Shop
βΒ Β βΒ Β βΒ Β βββ CartArea.jsx
βΒ Β βΒ Β βΒ Β βββ CheckoutArea.jsx
βΒ Β βΒ Β βΒ Β βββ checkoutarea.test.jsx
βΒ Β βΒ Β βΒ Β βββ OrderArea.jsx
βΒ Β βΒ Β βΒ Β βββ __payment__
βΒ Β βΒ Β βΒ Β βΒ Β βββ component
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ card
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ card1.test.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ Card.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ card.scss
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ Card.test.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ form
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ Form.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Payment.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ payment.scss
βΒ Β βΒ Β βΒ Β βΒ Β βββ payment.test.scss
βΒ Β βΒ Β βΒ Β βΒ Β βββ State.jsx
βΒ Β βΒ Β βΒ Β βββ __products__
βΒ Β βΒ Β βΒ Β βΒ Β βββ orderarea.test.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Products.jsx
βΒ Β βΒ Β βΒ Β βββ ProductsDetailsArea.jsx
βΒ Β βΒ Β βΒ Β βββ ProductsDetailsSidebarArea.jsx
βΒ Β βΒ Β βΒ Β βββ ShopArea.jsx
βΒ Β βΒ Β βΒ Β βββ ShopFullWidthArea.jsx
βΒ Β βΒ Β βΒ Β βββ ShopLeftSidebarArea.jsx
βΒ Β βΒ Β βΒ Β βββ ShopListViewArea.jsx
βΒ Β βΒ Β βΒ Β βββ WishListArea.jsx
βΒ Β βΒ Β βββ ShowNavbar
βΒ Β βΒ Β βΒ Β βββ ShowNavbar.jsx
βΒ Β βΒ Β βββ User
βΒ Β βΒ Β βΒ Β βββ UserArea.jsx
βΒ Β βΒ Β βββ Widgets
βΒ Β βΒ Β βββ Arrival.jsx
βΒ Β βΒ Β βββ BestSellerProducts.jsx
βΒ Β βΒ Β βββ Categories.jsx
βΒ Β βΒ Β βββ Continents.jsx
βΒ Β βΒ Β βββ PopularPosts.jsx
βΒ Β βΒ Β βββ PopularTags.jsx
βΒ Β βΒ Β βββ Price.jsx
βΒ Β βΒ Β βββ Search.jsx
βΒ Β βββ contexts
βΒ Β βΒ Β βββ auth-context.js
βΒ Β βΒ Β βββ cart-context.js
βΒ Β βΒ Β βββ constants.js
βΒ Β βΒ Β βββ darkModeContext.js
βΒ Β βΒ Β βββ darkModeReducer.js
βΒ Β βββ datatablesource.js
βΒ Β βββ formSource.js
βΒ Β βββ index.css
βΒ Β βββ index.js
βΒ Β βββ index.test.css
βΒ Β βββ pages
βΒ Β βΒ Β βββ About
βΒ Β βΒ Β βΒ Β βββ About.jsx
βΒ Β βΒ Β βΒ Β βββ ComingSoon.jsx
βΒ Β βΒ Β βΒ Β βββ Compare.jsx
βΒ Β βΒ Β βΒ Β βββ Contact.jsx
βΒ Β βΒ Β βΒ Β βββ Error-404.jsx
βΒ Β βΒ Β βΒ Β βββ Faqs.jsx
βΒ Β βΒ Β βΒ Β βββ MyAccount.jsx
βΒ Β βΒ Β βΒ Β βββ OurTeam.jsx
βΒ Β βΒ Β βΒ Β βββ PricingPlans.jsx
βΒ Β βΒ Β βΒ Β βββ PrivacyPolicy.jsx
βΒ Β βΒ Β βΒ Β βββ Search.jsx
βΒ Β βΒ Β βΒ Β βββ TermsOfService.jsx
βΒ Β βΒ Β βΒ Β βββ TrackingOrder.jsx
βΒ Β βΒ Β βββ Authentications
βΒ Β βΒ Β βΒ Β βββ Login.jsx
βΒ Β βΒ Β βΒ Β βββ LoginVendor.jsx
βΒ Β βΒ Β βΒ Β βββ LoginVendor.test.jsx
βΒ Β βΒ Β βΒ Β βββ Register.jsx
βΒ Β βΒ Β βΒ Β βββ ResetPassword.jsx
βΒ Β βΒ Β βββ Blog
βΒ Β βΒ Β βΒ Β βββ BlogDetailsa.jsx
βΒ Β βΒ Β βΒ Β βββ BlogDetailsb.jsx
βΒ Β βΒ Β βΒ Β βββ BlogDetailsc.jsx
βΒ Β βΒ Β βΒ Β βββ BlogDetails.jsx
βΒ Β βΒ Β βΒ Β βββ BlogFullWidth.jsx
βΒ Β βΒ Β βΒ Β βββ Blog.jsx
βΒ Β βΒ Β βΒ Β βββ BlogLeftSidebar.jsx
βΒ Β βΒ Β βΒ Β βββ BlogListView.jsx
βΒ Β βΒ Β βΒ Β βββ BlogRightSidebar.jsx
βΒ Β βΒ Β βββ Ecommerce
βΒ Β βΒ Β βΒ Β βββ customers
βΒ Β βΒ Β βΒ Β βΒ Β βββ Customers.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ customers.scss
βΒ Β βΒ Β βΒ Β βββ dashboard
βΒ Β βΒ Β βΒ Β βΒ Β βββ Dashboard.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ dashboard.scss
βΒ Β βΒ Β βΒ Β βββ login
βΒ Β βΒ Β βΒ Β βΒ Β βββ Login.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ login.scss
βΒ Β βΒ Β βΒ Β βββ new
βΒ Β βΒ Β βΒ Β βΒ Β βββ New.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ new.scss
βΒ Β βΒ Β βΒ Β βββ products
βΒ Β βΒ Β βΒ Β βΒ Β βββ AddProducts.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ addproducts.scss
βΒ Β βΒ Β βΒ Β βΒ Β βββ ListOfProducts.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ listofproducts.scss
βΒ Β βΒ Β βΒ Β βΒ Β βββ productform1.test.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ ProductForm.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ productform.scss
βΒ Β βΒ Β βΒ Β βΒ Β βββ productform.test.js
βΒ Β βΒ Β βΒ Β βΒ Β βββ productform.test.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ test.jsx
βΒ Β βΒ Β βΒ Β βββ singlecustomer
βΒ Β βΒ Β βΒ Β βΒ Β βββ SingleCustomer.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ singlecustomer.scss
βΒ Β βΒ Β βΒ Β βββ singlevendor
βΒ Β βΒ Β βΒ Β βΒ Β βββ SingleVendor.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ singlevendor.scss
βΒ Β βΒ Β βΒ Β βββ vendororders
βΒ Β βΒ Β βΒ Β βΒ Β βββ VendorOrders.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ vendororders.scss
βΒ Β βΒ Β βΒ Β βββ vendors
βΒ Β βΒ Β βΒ Β βββ Vendors.jsx
βΒ Β βΒ Β βΒ Β βββ vendors.scss
βΒ Β βΒ Β βββ Home
βΒ Β βΒ Β βΒ Β βββ Home.css
βΒ Β βΒ Β βΒ Β βββ HomeFour.jsx
βΒ Β βΒ Β βΒ Β βββ Home.jsx
βΒ Β βΒ Β βΒ Β βββ HomeThree.jsx
βΒ Β βΒ Β βΒ Β βββ HomeTwo.jsx
βΒ Β βΒ Β βββ Products
βΒ Β βΒ Β βΒ Β βββ AddProduct.jsx
βΒ Β βΒ Β βΒ Β βββ Products.jsx
βΒ Β βΒ Β βββ Shop
βΒ Β βΒ Β βΒ Β βββ Cart.jsx
βΒ Β βΒ Β βΒ Β βββ Checkout.jsx
βΒ Β βΒ Β βΒ Β βββ Orders.jsx
βΒ Β βΒ Β βΒ Β βββ ProductsDetails.jsx
βΒ Β βΒ Β βΒ Β βββ ProductsDetailsSidebar.jsx
βΒ Β βΒ Β βΒ Β βββ ShopFullWidth.jsx
βΒ Β βΒ Β βΒ Β βββ Shop.jsx
βΒ Β βΒ Β βΒ Β βββ ShopLeftSidebar.jsx
βΒ Β βΒ Β βΒ Β βββ ShopListView.jsx
βΒ Β βΒ Β βΒ Β βββ ShopRightSidebar.jsx
βΒ Β βΒ Β βΒ Β βββ WishList.jsx
βΒ Β βΒ Β βββ User
βΒ Β βΒ Β βββ User.jsx
βΒ Β βββ redux
βΒ Β βΒ Β βββ Order
βΒ Β βΒ Β βΒ Β βββ OrderAction.js
βΒ Β βΒ Β βΒ Β βββ OrderReducer.js
βΒ Β βΒ Β βΒ Β βββ OrderTypes.js
βΒ Β βΒ Β βββ Product
βΒ Β βΒ Β βΒ Β βββ ProductAction.js
βΒ Β βΒ Β βΒ Β βββ ProductReducer.js
βΒ Β βΒ Β βΒ Β βββ ProductTypes.js
βΒ Β βΒ Β βββ ResetPassword
βΒ Β βΒ Β βΒ Β βββ PasswordAction.js
βΒ Β βΒ Β βΒ Β βββ PasswordReducer.js
βΒ Β βΒ Β βΒ Β βββ PasswordTypes.js
βΒ Β βΒ Β βββ RootReducer.js
βΒ Β βΒ Β βββ Store.js
βΒ Β βββ setupTests.js
βββ cloudinary_preset_config.jpg
βββ LICENSE
βββ logo.svg
βββ README.md
βββ server
βΒ Β βββ index_deploy.js
βΒ Β βββ index.js
βΒ Β βββ package.json
βΒ Β βββ src
βΒ Β βΒ Β βββ config
βΒ Β βΒ Β βΒ Β βββ db.js
βΒ Β βΒ Β βββ controllers
βΒ Β βΒ Β βΒ Β βββ order.js
βΒ Β βΒ Β βΒ Β βββ product.js
βΒ Β βΒ Β βΒ Β βββ user.js
βΒ Β βΒ Β βββ helpers
βΒ Β βΒ Β βΒ Β βββ genAccessToken.js
βΒ Β βΒ Β βββ middlewares
βΒ Β βΒ Β βΒ Β βββ check-auth.js
βΒ Β βΒ Β βββ models
βΒ Β βΒ Β βΒ Β βββ Order.js
βΒ Β βΒ Β βΒ Β βββ Product.js
βΒ Β βΒ Β βΒ Β βββ User.js
βΒ Β βΒ Β βββ routings
βΒ Β βΒ Β βΒ Β βββ order.js
βΒ Β βΒ Β βΒ Β βββ product.js
βΒ Β βΒ Β βΒ Β βββ user.js
βΒ Β βΒ Β βββ server.js
βΒ Β βΒ Β βββ utils
βΒ Β βΒ Β βββ cloudinary.js
βΒ Β βΒ Β βββ validators.js
βΒ Β βββ vercel.json
βββ vercel.json
Root
File | Summary |
---|---|
vercel.json | The code above represents the directory tree structure for a Shop Ecommerce project. It consists of a client folder, containing various files related to the frontend, and a server folder, containing files related to the backend. The code in the file vercel.json specifies the build and deployment configurations for the project on the Vercel platform. It specifies that the source for building the project is the client/package.json file and the build command to be used is "@vercel/node". It also defines a route that maps any request starting with "client/" to the client/src/index.js file. |
Client
File | Summary |
---|---|
package.json | The code represents a directory structure for a Shop-Ecommerce project. It consists of a "client" directory and a "server" directory. The "client" directory contains a package.json file which defines the project dependencies, scripts, and configurations. The dependencies include various libraries and frameworks like React, Redux, MUI, Axios, and others. The "server" directory contains the server-side code, including controllers, models, routes, and helpers. |
Src
File | Summary |
---|---|
index.js | This code renders the main application component (App.js ) on the client-side using React and ReactDOM. It also sets up the Redux store and provides it to the application using Provider . Additionally, it wraps the entire application in a DarkModeContextProvider component. CSS files are imported for styling, and the rendered application is mounted to the HTML element with the ID "root" in the index.html file. |
index.test.css | HTTPStatus Exception: 429 |
App.test.js | HTTPStatus Exception: 429 |
formSource.js | HTTPStatus Exception: 429 |
setupTests.js | HTTPStatus Exception: 429 |
datatablesource.js | HTTPStatus Exception: 429 |
App.js | HTTPStatus Exception: 429 |
index.css | HTTPStatus Exception: 429 |
Contexts
File | Summary |
---|---|
cart-context.js | HTTPStatus Exception: 429 |
auth-context.js | HTTPStatus Exception: 429 |
darkModeReducer.js | HTTPStatus Exception: 429 |
darkModeContext.js | HTTPStatus Exception: 429 |
constants.js | HTTPStatus Exception: 429 |
Blog
File | Summary |
---|---|
BlogListViewArea.jsx | HTTPStatus Exception: 429 |
BlogDetailsArea.jsx | HTTPStatus Exception: 429 |
BlogArea.jsx | HTTPStatus Exception: 429 |
BlogLeftSidbarArea.jsx | HTTPStatus Exception: 429 |
BlogDetailsb.jsx | HTTPStatus Exception: 429 |
BlogDetails.jsx | HTTPStatus Exception: 429 |
BlogDetailsa.jsx | HTTPStatus Exception: 429 |
BlogListView.jsx | HTTPStatus Exception: 429 |
BlogFullWidth.jsx | HTTPStatus Exception: 429 |
BlogLeftSidebar.jsx | HTTPStatus Exception: 429 |
BlogDetailsc.jsx | HTTPStatus Exception: 429 |
Blog.jsx | HTTPStatus Exception: 429 |
BlogRightSidebar.jsx | HTTPStatus Exception: 429 |
__blogs__
File | Summary |
---|---|
Blogs.jsx | HTTPStatus Exception: 429 |
Common
File | Summary |
---|---|
BestSellers.jsx | HTTPStatus Exception: 429 |
Testimonial.jsx | HTTPStatus Exception: 429 |
PageTitle.jsx | HTTPStatus Exception: 429 |
SpecialProducts.jsx | HTTPStatus Exception: 429 |
NewArrivals.jsx | HTTPStatus Exception: 429 |
SupportTwo.jsx | HTTPStatus Exception: 429 |
SpecialOffer.jsx | HTTPStatus Exception: 429 |
Collection.jsx | HTTPStatus Exception: 429 |
LatestNews.jsx | HTTPStatus Exception: 429 |
Support.jsx | HTTPStatus Exception: 429 |
PageTitleVendor.jsx | HTTPStatus Exception: 429 |
Partner.jsx | HTTPStatus Exception: 429 |
Preloader.jsx | HTTPStatus Exception: 429 |
Products
File | Summary |
---|---|
QuickView.css | HTTPStatus Exception: 429 |
ProductsArea.jsx | HTTPStatus Exception: 429 |
QuickView.jsx | HTTPStatus Exception: 429 |
AddProductArea.jsx | HTTPStatus Exception: 429 |
validateinfo.js | HTTPStatus Exception: 429 |
Products.jsx | HTTPStatus Exception: 429 |
AddProduct.jsx | HTTPStatus Exception: 429 |
test.jsx | HTTPStatus Exception: 429 |
productform.test.js | HTTPStatus Exception: 429 |
productform.test.jsx | HTTPStatus Exception: 429 |
AddProducts.jsx | HTTPStatus Exception: 429 |
addproducts.scss | HTTPStatus Exception: 429 |
ProductForm.jsx | HTTPStatus Exception: 429 |
productform1.test.jsx | HTTPStatus Exception: 429 |
productform.scss | HTTPStatus Exception: 429 |
ListOfProducts.jsx | HTTPStatus Exception: 429 |
listofproducts.scss | HTTPStatus Exception: 429 |
About
File | Summary |
---|---|
Founders.jsx | HTTPStatus Exception: 429 |
VisionArea.jsx | HTTPStatus Exception: 429 |
TeamMembers.jsx | HTTPStatus Exception: 429 |
PrivacyPolicyArea.jsx | HTTPStatus Exception: 429 |
Map.jsx | HTTPStatus Exception: 429 |
FaqsArea.jsx | HTTPStatus Exception: 429 |
TrackingOrderArea.jsx | HTTPStatus Exception: 429 |
MissionArea.jsx | HTTPStatus Exception: 429 |
TermsOfServiceArea.jsx | HTTPStatus Exception: 429 |
FunFactArea.jsx | HTTPStatus Exception: 429 |
CompareArea.jsx | HTTPStatus Exception: 429 |
StoryArea.jsx | HTTPStatus Exception: 429 |
Terms.jsx | HTTPStatus Exception: 429 |
SearchArea.jsx | HTTPStatus Exception: 429 |
ErrorArea.jsx | HTTPStatus Exception: 429 |
Privacy.jsx | HTTPStatus Exception: 429 |
PricingArea.jsx | HTTPStatus Exception: 429 |
ContactArea.jsx | HTTPStatus Exception: 429 |
ComingSoonArea.jsx | HTTPStatus Exception: 429 |
Data.js | HTTPStatus Exception: 429 |
MyAccount.jsx | HTTPStatus Exception: 429 |
ComingSoon.jsx | HTTPStatus Exception: 429 |
About.jsx | HTTPStatus Exception: 429 |
Error-404.jsx | HTTPStatus Exception: 429 |
OurTeam.jsx | HTTPStatus Exception: 429 |
Compare.jsx | HTTPStatus Exception: 429 |
PricingPlans.jsx | HTTPStatus Exception: 429 |
Faqs.jsx | HTTPStatus Exception: 429 |
PrivacyPolicy.jsx | HTTPStatus Exception: 429 |
Contact.jsx | HTTPStatus Exception: 429 |
Search.jsx | HTTPStatus Exception: 429 |
TermsOfService.jsx | HTTPStatus Exception: 429 |
TrackingOrder.jsx | HTTPStatus Exception: 429 |
User
File | Summary |
---|---|
UserArea.jsx | HTTPStatus Exception: 429 |
User.jsx | HTTPStatus Exception: 429 |
Auth
File | Summary |
---|---|
loginarea.scss | HTTPStatus Exception: 429 |
LoginAreaVendor.jsx | HTTPStatus Exception: 429 |
RegisterArea.jsx | HTTPStatus Exception: 429 |
LoginArea.jsx | HTTPStatus Exception: 429 |
LoginArea.test.jsx | HTTPStatus Exception: 429 |
PasswordResetArea.jsx | HTTPStatus Exception: 429 |
Home-one
File | Summary |
---|---|
SpecialProducts.jsx | HTTPStatus Exception: 429 |
Overview.jsx | HTTPStatus Exception: 429 |
SpecialOffer.jsx | HTTPStatus Exception: 429 |
Banner.jsx | HTTPStatus Exception: 429 |
Home-three
File | Summary |
---|---|
OfferProductsArea.jsx | HTTPStatus Exception: 429 |
Banner.jsx | HTTPStatus Exception: 429 |
FeaturedArea.jsx | HTTPStatus Exception: 429 |
HotProductsArea.jsx | HTTPStatus Exception: 429 |
Home-four
File | Summary |
---|---|
Banner.jsx | HTTPStatus Exception: 429 |
FeaturedArea.jsx | HTTPStatus Exception: 429 |
Home-two
File | Summary |
---|---|
Banner.jsx | HTTPStatus Exception: 429 |
FeaturedArea.jsx | HTTPStatus Exception: 429 |
Category.jsx | HTTPStatus Exception: 429 |
Shop
File | Summary |
---|---|
WishListArea.jsx | HTTPStatus Exception: 429 |
ShopFullWidthArea.jsx | HTTPStatus Exception: 429 |
ShopArea.jsx | HTTPStatus Exception: 429 |
ShopListViewArea.jsx | HTTPStatus Exception: 429 |
CartArea.jsx | HTTPStatus Exception: 429 |
ProductsDetailsSidebarArea.jsx | HTTPStatus Exception: 429 |
ProductsDetailsArea.jsx | HTTPStatus Exception: 429 |
checkoutarea.test.jsx | HTTPStatus Exception: 429 |
ShopLeftSidebarArea.jsx | HTTPStatus Exception: 429 |
CheckoutArea.jsx | HTTPStatus Exception: 429 |
OrderArea.jsx | HTTPStatus Exception: 429 |
ShopLeftSidebar.jsx | HTTPStatus Exception: 429 |
Cart.jsx | HTTPStatus Exception: 429 |
WishList.jsx | HTTPStatus Exception: 429 |
ShopListView.jsx | HTTPStatus Exception: 429 |
ProductsDetails.jsx | HTTPStatus Exception: 429 |
Checkout.jsx | HTTPStatus Exception: 429 |
ShopRightSidebar.jsx | HTTPStatus Exception: 429 |
ShopFullWidth.jsx | HTTPStatus Exception: 429 |
Shop.jsx | HTTPStatus Exception: 429 |
Orders.jsx | HTTPStatus Exception: 429 |
ProductsDetailsSidebar.jsx | HTTPStatus Exception: 429 |
__payment__
File | Summary |
---|---|
payment.scss | HTTPStatus Exception: 429 |
State.jsx | HTTPStatus Exception: 429 |
Payment.jsx | HTTPStatus Exception: 429 |
payment.test.scss | HTTPStatus Exception: 429 |
Form
File | Summary |
---|---|
Form.jsx | HTTPStatus Exception: 429 |
Card
File | Summary |
---|---|
Card.jsx | HTTPStatus Exception: 429 |
Card.test.jsx | HTTPStatus Exception: 429 |
card.scss | HTTPStatus Exception: 429 |
card1.test.jsx | HTTPStatus Exception: 429 |
__products__
File | Summary |
---|---|
Products.jsx | HTTPStatus Exception: 429 |
orderarea.test.jsx | HTTPStatus Exception: 429 |
Footer
File | Summary |
---|---|
Footer.jsx | HTTPStatus Exception: 429 |
Widget
File | Summary |
---|---|
Widget.jsx | HTTPStatus Exception: 429 |
widget.scss | HTTPStatus Exception: 429 |
Featured
File | Summary |
---|---|
featured.scss | HTTPStatus Exception: 429 |
Featured.jsx | HTTPStatus Exception: 429 |
Table
File | Summary |
---|---|
Table.jsx | HTTPStatus Exception: 429 |
table.scss | HTTPStatus Exception: 429 |
Navbar
File | Summary |
---|---|
navbar.scss | HTTPStatus Exception: 429 |
Navbar.jsx | HTTPStatus Exception: 429 |
Sidebar
File | Summary |
---|---|
Sidebar.jsx | HTTPStatus Exception: 429 |
Sidebar.test.jsx | HTTPStatus Exception: 429 |
sidebar.scss | HTTPStatus Exception: 429 |
Productstable
File | Summary |
---|---|
Datatable1.test.jsx | HTTPStatus Exception: 429 |
productstable.scss | HTTPStatus Exception: 429 |
Datatable2.test.jsx | HTTPStatus Exception: 429 |
Datatable3.test.jsx | HTTPStatus Exception: 429 |
ProductsTableSource.jsx | HTTPStatus Exception: 429 |
UserColumns.test.jsx | HTTPStatus Exception: 429 |
Datatable.test.jsx | HTTPStatus Exception: 429 |
ProductsTable.jsx | HTTPStatus Exception: 429 |
Vendorstable
File | Summary |
---|---|
VendorsTable.jsx | HTTPStatus Exception: 429 |
vendorstable.scss | HTTPStatus Exception: 429 |
VendorTableSource.jsx | HTTPStatus Exception: 429 |
Orderstable
File | Summary |
---|---|
orderstable.scss | HTTPStatus Exception: 429 |
OrdersTable.jsx | HTTPStatus Exception: 429 |
Chart
File | Summary |
---|---|
Chart.jsx | HTTPStatus Exception: 429 |
chart.scss | HTTPStatus Exception: 429 |
Customerstable
File | Summary |
---|---|
CustomerTableSource.jsx | HTTPStatus Exception: 429 |
CustomersTable.jsx | HTTPStatus Exception: 429 |
customerstable.scss | HTTPStatus Exception: 429 |
Shownavbar
File | Summary |
---|---|
ShowNavbar.jsx | HTTPStatus Exception: 429 |
Widgets
File | Summary |
---|---|
PopularPosts.jsx | HTTPStatus Exception: 429 |
PopularTags.jsx | HTTPStatus Exception: 429 |
Continents.jsx | HTTPStatus Exception: 429 |
Arrival.jsx | HTTPStatus Exception: 429 |
Categories.jsx | HTTPStatus Exception: 429 |
BestSellerProducts.jsx | HTTPStatus Exception: 429 |
Search.jsx | HTTPStatus Exception: 429 |
Price.jsx | HTTPStatus Exception: 429 |
Layout
File | Summary |
---|---|
MiddleHeader.css | HTTPStatus Exception: 429 |
MiddleHeader.jsx | HTTPStatus Exception: 429 |
Navbar.jsx | HTTPStatus Exception: 429 |
TopHeader.jsx | HTTPStatus Exception: 429 |
TopHeader.css | HTTPStatus Exception: 429 |
Home
File | Summary |
---|---|
Home.css | HTTPStatus Exception: 429 |
HomeFour.jsx | HTTPStatus Exception: 429 |
HomeTwo.jsx | HTTPStatus Exception: 429 |
Home.jsx | HTTPStatus Exception: 429 |
HomeThree.jsx | HTTPStatus Exception: 429 |
Authentications
File | Summary |
---|---|
LoginVendor.test.jsx | HTTPStatus Exception: 429 |
ResetPassword.jsx | HTTPStatus Exception: 429 |
Login.jsx | HTTPStatus Exception: 429 |
LoginVendor.jsx | HTTPStatus Exception: 429 |
Register.jsx | HTTPStatus Exception: 429 |
Singlecustomer
File | Summary |
---|---|
singlecustomer.scss | HTTPStatus Exception: 429 |
SingleCustomer.jsx | HTTPStatus Exception: 429 |
Customers
File | Summary |
---|---|
Customers.jsx | HTTPStatus Exception: 429 |
customers.scss | HTTPStatus Exception: 429 |
Dashboard
File | Summary |
---|---|
dashboard.scss | HTTPStatus Exception: 429 |
Dashboard.jsx | HTTPStatus Exception: 429 |
Vendors
File | Summary |
---|---|
Vendors.jsx | HTTPStatus Exception: 429 |
vendors.scss | HTTPStatus Exception: 429 |
Login
File | Summary |
---|---|
login.scss | HTTPStatus Exception: 429 |
Login.jsx | HTTPStatus Exception: 429 |
Vendororders
File | Summary |
---|---|
VendorOrders.jsx | HTTPStatus Exception: 429 |
vendororders.scss | HTTPStatus Exception: 429 |
Singlevendor
File | Summary |
---|---|
SingleVendor.jsx | HTTPStatus Exception: 429 |
singlevendor.scss | HTTPStatus Exception: 429 |
Redux
File | Summary |
---|---|
RootReducer.js | HTTPStatus Exception: 429 |
Store.js | HTTPStatus Exception: 429 |
Order
File | Summary |
---|---|
OrderTypes.js | HTTPStatus Exception: 429 |
OrderAction.js | HTTPStatus Exception: 429 |
OrderReducer.js | HTTPStatus Exception: 429 |
Resetpassword
File | Summary |
---|---|
PasswordTypes.js | HTTPStatus Exception: 429 |
PasswordAction.js | HTTPStatus Exception: 429 |
PasswordReducer.js | HTTPStatus Exception: 429 |
Product
File | Summary |
---|---|
ProductAction.js | HTTPStatus Exception: 429 |
ProductReducer.js | HTTPStatus Exception: 429 |
ProductTypes.js | HTTPStatus Exception: 429 |
Public
File | Summary |
---|---|
robots.txt | HTTPStatus Exception: 429 |
index.html | HTTPStatus Exception: 429 |
manifest.json | HTTPStatus Exception: 429 |
Server
File | Summary |
---|---|
index.js | HTTPStatus Exception: 429 |
package.json | HTTPStatus Exception: 429 |
vercel.json | HTTPStatus Exception: 429 |
Helpers
File | Summary |
---|---|
genAccessToken.js | HTTPStatus Exception: 429 |
Routings
File | Summary |
---|---|
product.js | HTTPStatus Exception: 429 |
user.js | HTTPStatus Exception: 429 |
order.js | HTTPStatus Exception: 429 |
Config
File | Summary |
---|---|
db.js | HTTPStatus Exception: 429 |
Controllers
File | Summary |
---|---|
product.js | HTTPStatus Exception: 429 |
user.js | HTTPStatus Exception: 429 |
order.js | HTTPStatus Exception: 429 |
Utils
File | Summary |
---|---|
cloudinary.js | HTTPStatus Exception: 429 |
validators.js | HTTPStatus Exception: 429 |
Models
File | Summary |
---|---|
Product.js | HTTPStatus Exception: 429 |
Order.js | HTTPStatus Exception: 429 |
User.js | HTTPStatus Exception: 429 |
Middlewares
File | Summary |
---|---|
check-auth.js | HTTPStatus Exception: 429 |
Dependencies
Please ensure you have the following dependencies installed on your system:
- βΉοΈ NodeJS >= 18.16.0
- βΉοΈ NPM >= 9.5.1
Before setting up the platform (either online or locally) it is necessary that you configure your MongoDB database and Cloudinary account to store the images. These previous steps are necessary to fill the environment variables for both the server and the client. This is how you do it:
A. For the MongoDB: Watch the following YouTube video to create a DB in Mongo
After creating your DB, go to the server
folder and make a copy of the .example.env
file and rename it as .env
, then fill out the variables:
MONGODB_URL=
ACCESS_TOKEN_SECRET=
DATABASE_NAME=
DATABASE_USER=
Put in the ACCESS_TOKEN_SECRET
any long hash string you want, it is just for the JWT security :)
B. For the Cloudinary: Watch the following YouTube video to configure your Cloudinary account.
Open up the server/.env
file again and finish its configuration by adding the variables of name, api_key, and api_secret that you get by default once you create your Cloudinary account.
CLOUDINARY_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
Now configure your preset, according to the following pic navigating to Settings (gear icon) in Cloudinary, then to the Upload section. You could name the preset with any string you want, that name is going to go in the REACT_APP_CLOUDINARY_UPLOAD_PRESET
variable.
Lastly, go to the client
folder and make a copy of the .example.env
file and rename it as .env
, then fill out the variables:
REACT_APP_CLOUDINARY_NAME=
REACT_APP_SERVER_API=
REACT_APP_CLOUDINARY_UPLOAD_PRESET=
Notes:
REACT_APP_CLOUDINARY_NAME
is the same as theCLOUDINARY_NAME
variable that your configured earlier.- Leave in blank the
REACT_APP_SERVER_API
variable for the local installation because the client will grab the defaultlocalhost:5000
url set inclient/package.json
0.1. Clone the Shop-Ecommerce repository:
git clone https://github.com/jatolentino/Shop-Ecommerce
0.2. Change to the project directory:
cd Shop-Ecommerce
0.3. Move the server
folder elsewhere outsite the Shop-Ecommerce
folder, your structure should look like this:
βββ Shop-Ecommerce/
βββ client/
βββ logo.svg
βββ vercel.json
1. Setting up the client
1.1. Go to the client
folder, it will be your root client folder for then and on:
cd client
1.2. Install the dependencies:
npm install
You won't see any products listed, since you haven't configured the server yet :(. Let's do it in the following steps :D
2. Setting up the server
2.1. Navigate to the server folder that you moved somewhere else in your computer, hopefully not into the Recycle Bin.
cd ~/somewhere/server
2.2. Install the dependencies:
npm install
- For the server
cd ~/somewhere/server
npm start
- For the client
cd Shop-Ecommerce/client
npm start
Locally the
package.json
file is calling theindex.js
file, but when you want to deploy it,index_deploy.js
while be used. Anyway, don't worry, there'll be more info about that in the next section.
After you start both the client and the server, you won't still see any products listed because you haven't uploaded any. To upload a new product, please follow the video demo.
Only in the case that you desperately want to see some products listed in your store as soon as possible and to verify that your previous config was successful, you could use my API. But please, do not delete or add any products, so that other devs can make their test with it. Go to
client/.env
and fill theREACT_APP_SERVER_API
variable with my API link:https://shopapi-lime.vercel.app/
We use Vercel because it is easy to setup and free of cost! Aside that they use AWS services too.
First of all, it's important to understand that we deploy 2 projects in Vercel, one refers to Shop-Ecommerce/client
and the other is Shop-Ecommerce/server
(or the location where you moved the server
folder).
Once you are satisfied with the changes you've made in the project, and want to deploy it on Vercel, you can follow the steps below:
- From the server folder, rename
index.js
to index.js.old - Rename
index_deploy.js
toindex.js
- Now upload the
server
folder to your github as a new repository, don't includenode_modules
or the.env
file (they should be added to your.gitignore
) - Add this project to vercel and create/fill your environment variables with the
.env
parameters - If your project was successfully hosted in Vercel, you should get a url to access it, copy this url, we are going to use in the next section.
To test if your server is working, append
/products
to the end of your url and paste it in your browser, you should see your API listing your products :D
Follow the steps below:
- Go to
Shop-Ecommerce/client
and paste the Vercel server url that you got in the previously step inREACT_APP_SERVER_API
variable of.env
file - Now to upload your client project to Vercel, follow this advice:
- Upload the client folder to your github repo, don't include
node_modules
orbuild
directories or the.env
file obsviously (they should be added to your.gitignore
) - Create a project in Vercel to add the client github repo previously added
- The trick to add the client projec to Vercel is this: After you choose the project you want to add in Vercel by its github repo name, in the Configure Section, you should edit the
Root Directory
choosing the optionclient
so that Vercel, recognizes it as aReact
project! - Proceed to fill out your environment variables with
Shop-Ecommerce/client/.env
- Lastly you can click on deploy, and you will get your Vercel client website link
- Upload the client folder to your github repo, don't include
npm test
βΉοΈ Task 1: Implement X
βΉοΈ Task 2: Implement Y
βΉοΈ ...
Contributions are welcome! Here are several ways you can contribute:
- Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
- Report Issues: Submit bugs found or log feature requests for JATOLENTINO.
Click to expand
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone <your-forked-repo-url>
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear and concise message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.
This project is protected under the SELECT-A-LICENSE License. For more details, refer to the LICENSE file.
- List any resources, contributors, inspiration, etc. here.