Skip to content

sharaddh/stark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

181 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Starkk.shop β€” Next-Gen MERN E-Commerce Platform

eventBy Banner

⚑ Blazing Fast β€’ 🧠 Smart Search β€’ πŸ›’ Full-Stack Commerce β€’ 🎯 Production Ready


🌐 Live Demo

πŸ‘‰ https://starkk.shop


🧠 Overview

Starkk.shop is a high-performance, scalable MERN e-commerce platform engineered with a focus on speed, intelligent data flow, and seamless user experience.

Unlike traditional e-commerce apps, Starkk is built with:

  • ⚑ Ultra-fast loading (cache-first architecture)
  • πŸ” Smart search (Elasticsearch + MongoDB fallback)
  • 🧩 Dynamic layout system (data-driven UI)
  • πŸ“¦ Centralized state + caching (Redux + Context API)

πŸ’‘ This is not just a project β€” it's a production-grade system design.


✨ Key Features

πŸ›οΈ Core E-Commerce

  • Dynamic product listings with layout engine
  • Category-based filtering & smart browsing
  • Cart & wishlist with persistent state
  • Secure JWT-based authentication

πŸ” Smart Search System

  • Elasticsearch-powered search
  • Trending & recent searches
  • Intelligent suggestions (products, sellers, categories)

⚑ Performance First Architecture

  • Centralized caching via DataContext
  • Redux Toolkit global state management
  • Stale-checking (prevents redundant API calls)
  • Lazy loading + code splitting

πŸ§‘β€πŸ’Ό Seller System

  • OTP + password-based authentication
  • Seller dashboard-ready backend
  • Product management system

🧠 Intelligent Backend

  • Optimized /initial-data endpoint
  • Redis caching + background cache warming
  • MongoDB indexing for high-speed queries
  • Image sanitization + fallback system

πŸ—οΈ Tech Stack

πŸ–₯️ Frontend

  • React.js
  • Redux Toolkit
  • Context API
  • Tailwind CSS
  • Framer Motion

βš™οΈ Backend

  • Node.js
  • Express.js
  • MongoDB (Mongoose)
  • Redis (Caching Layer)
  • Elasticsearch (Search Engine)

πŸ” Tools & Services

  • JWT Authentication
  • Axios
  • Cloudinary

πŸ“‚ Project Structure

starkkkk
β”œβ”€ client
β”‚  β”œβ”€ @
β”‚  β”‚  └─ components
β”‚  β”‚     └─ ui
β”‚  β”‚        β”œβ”€ button.tsx
β”‚  β”‚        β”œβ”€ card.tsx
β”‚  β”‚        β”œβ”€ checkbox.tsx
β”‚  β”‚        β”œβ”€ dialog.tsx
β”‚  β”‚        β”œβ”€ drawer.tsx
β”‚  β”‚        β”œβ”€ input.tsx
β”‚  β”‚        β”œβ”€ label.tsx
β”‚  β”‚        β”œβ”€ scroll-area.tsx
β”‚  β”‚        β”œβ”€ select.tsx
β”‚  β”‚        └─ slider.tsx
β”‚  β”œβ”€ components
β”‚  β”‚  └─ common
β”‚  β”‚     β”œβ”€ FallbackImage.jsx
β”‚  β”‚     └─ Loader.jsx
β”‚  β”œβ”€ components.json
β”‚  β”œβ”€ eslint.config.js
β”‚  β”œβ”€ index.html
β”‚  β”œβ”€ lib
β”‚  β”‚  └─ utils.js
β”‚  β”œβ”€ package-lock.json
β”‚  β”œβ”€ package.json
β”‚  β”œβ”€ postcss.config.js
β”‚  β”œβ”€ public
β”‚  β”‚  └─ logo.png
β”‚  β”œβ”€ README.md
β”‚  β”œβ”€ src
β”‚  β”‚  β”œβ”€ App.jsx
β”‚  β”‚  β”œβ”€ assets
β”‚  β”‚  β”‚  β”œβ”€ cod.png
β”‚  β”‚  β”‚  β”œβ”€ delivery.png
β”‚  β”‚  β”‚  β”œβ”€ images.jpeg
β”‚  β”‚  β”‚  β”œβ”€ loading.gif
β”‚  β”‚  β”‚  β”œβ”€ login-bg.webp
β”‚  β”‚  β”‚  β”œβ”€ login.jpeg
β”‚  β”‚  β”‚  β”œβ”€ logo.png
β”‚  β”‚  β”‚  β”œβ”€ logo.webp
β”‚  β”‚  β”‚  β”œβ”€ logoname.png
β”‚  β”‚  β”‚  β”œβ”€ pngtree-cash-on-delivery-icon-png-image_6364044.png
β”‚  β”‚  β”‚  β”œβ”€ profile.png
β”‚  β”‚  β”‚  β”œβ”€ return.png
β”‚  β”‚  β”‚  β”œβ”€ signn.webp
β”‚  β”‚  β”‚  β”œβ”€ slogo.webp
β”‚  β”‚  β”‚  β”œβ”€ slogooo.png
β”‚  β”‚  β”‚  β”œβ”€ slogooo.webp
β”‚  β”‚  β”‚  β”œβ”€ sslogo.png
β”‚  β”‚  β”‚  β”œβ”€ top.avif
β”‚  β”‚  β”‚  β”œβ”€ top.jpg
β”‚  β”‚  β”‚  └─ vmig7kasls34evfbkz9f.jpg
β”‚  β”‚  β”œβ”€ axios.js
β”‚  β”‚  β”œβ”€ Components
β”‚  β”‚  β”‚  β”œβ”€ admin
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminAds.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminCategories.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminComboOffer.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminLayout.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminNavBar.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminOrders.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminOverview.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminProducts.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminSellers.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminSponsoredProducts.jsx
β”‚  β”‚  β”‚  β”‚  └─ AdminUsers.jsx
β”‚  β”‚  β”‚  β”œβ”€ axios.js
β”‚  β”‚  β”‚  β”œβ”€ bottom.jsx
β”‚  β”‚  β”‚  β”œβ”€ botttommm.jsx
β”‚  β”‚  β”‚  β”œβ”€ CartProductCard.jsx
β”‚  β”‚  β”‚  β”œβ”€ Category.jsx
β”‚  β”‚  β”‚  β”œβ”€ CategoryCard.jsx
β”‚  β”‚  β”‚  β”œβ”€ CategoryCardSkeleton.jsx
β”‚  β”‚  β”‚  β”œβ”€ DraggableScrollbar.jsx
β”‚  β”‚  β”‚  β”œβ”€ Filtermodel.jsx
β”‚  β”‚  β”‚  β”œβ”€ home
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CartSection.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CategoryFilterBar.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CategorySection.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CategorySectionn.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ ComboOfferSection.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ DoubleAdd.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ GenderFilterBar.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ ProductSection.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ RecentlyViewedSection.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ SearchBar.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ SellerSection.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ SingleAdd.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ SkeletonSection.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ SponsoredSection.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ Topbox.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ TrendingSection.jsx
β”‚  β”‚  β”‚  β”‚  └─ TripleAdd.jsx
β”‚  β”‚  β”‚  β”œβ”€ HorizontalProductRow.jsx
β”‚  β”‚  β”‚  β”œβ”€ js.js
β”‚  β”‚  β”‚  β”œβ”€ LoadingSpinner.jsx
β”‚  β”‚  β”‚  β”œβ”€ magicui
β”‚  β”‚  β”‚  β”‚  └─ dock.tsx
β”‚  β”‚  β”‚  β”œβ”€ Navbar.jsx
β”‚  β”‚  β”‚  β”œβ”€ OrderConfirmation.jsx
β”‚  β”‚  β”‚  β”œβ”€ OwnerCard.jsx
β”‚  β”‚  β”‚  β”œβ”€ PageCacheProvider.JSX
β”‚  β”‚  β”‚  β”œβ”€ ProductCard.jsx
β”‚  β”‚  β”‚  β”œβ”€ ProductCard4line.jsx
β”‚  β”‚  β”‚  β”œβ”€ ProductCardSkeleton.jsx
β”‚  β”‚  β”‚  β”œβ”€ RelatedProducts.jsx
β”‚  β”‚  β”‚  β”œβ”€ SearchBar.jsx
β”‚  β”‚  β”‚  β”œβ”€ SearchResults.jsx
β”‚  β”‚  β”‚  β”œβ”€ seller
β”‚  β”‚  β”‚  β”‚  β”œβ”€ NavBar.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ Orders.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ Overview.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ ProductForm.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ Products.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ Profile.jsx
β”‚  β”‚  β”‚  β”‚  └─ ProfileForm.jsx
β”‚  β”‚  β”‚  β”œβ”€ selleraxios.js
β”‚  β”‚  β”‚  β”œβ”€ SellerCard.jsx
β”‚  β”‚  β”‚  β”œβ”€ SellerCardSkeleton.jsx
β”‚  β”‚  β”‚  β”œβ”€ SellerProfileSkeleton.jsx
β”‚  β”‚  β”‚  β”œβ”€ SkeletonSection.jsx
β”‚  β”‚  β”‚  β”œβ”€ useraxios.js
β”‚  β”‚  β”‚  └─ WishlistProductCard.jsx
β”‚  β”‚  β”œβ”€ context
β”‚  β”‚  β”œβ”€ DataProvider.jsx
β”‚  β”‚  β”œβ”€ ErrorBoundary.jsx
β”‚  β”‚  β”œβ”€ hooks
β”‚  β”‚  β”‚  β”œβ”€ useAdminAuth.jsx
β”‚  β”‚  β”‚  └─ useLazySection.jsx
β”‚  β”‚  β”œβ”€ i18next.js
β”‚  β”‚  β”œβ”€ index.css
β”‚  β”‚  β”œβ”€ Layout.jsx
β”‚  β”‚  β”œβ”€ lib
β”‚  β”‚  β”‚  └─ utils.ts
β”‚  β”‚  β”œβ”€ main.jsx
β”‚  β”‚  β”œβ”€ Middleware
β”‚  β”‚  β”‚  β”œβ”€ AdminProtectedRoute.jsx
β”‚  β”‚  β”‚  └─ Protectedroute.jsx
β”‚  β”‚  β”œβ”€ Navbar.jsx
β”‚  β”‚  β”œβ”€ pages
β”‚  β”‚  β”‚  β”œβ”€ AboutUs.jsx
β”‚  β”‚  β”‚  β”œβ”€ AdminAuth.jsx
β”‚  β”‚  β”‚  β”œβ”€ AdminDashboard.jsx
β”‚  β”‚  β”‚  β”œβ”€ CancellationReturn.jsx
β”‚  β”‚  β”‚  β”œβ”€ Cart.jsx
β”‚  β”‚  β”‚  β”œβ”€ CategoryPage.jsx
β”‚  β”‚  β”‚  β”œβ”€ CheckoutPage.jsx
β”‚  β”‚  β”‚  β”œβ”€ ComboPage.jsx
β”‚  β”‚  β”‚  β”œβ”€ FAQs.jsx
β”‚  β”‚  β”‚  β”œβ”€ Home.jsx
β”‚  β”‚  β”‚  β”œβ”€ LoginRegister.jsx
β”‚  β”‚  β”‚  β”œβ”€ OrderConfirmation.jsx
β”‚  β”‚  β”‚  β”œβ”€ OrderDetails.jsx
β”‚  β”‚  β”‚  β”œβ”€ OwnerProfilePage.jsx
β”‚  β”‚  β”‚  β”œβ”€ PrivacyPolicy.jsx
β”‚  β”‚  β”‚  β”œβ”€ ProductDetails.jsx
β”‚  β”‚  β”‚  β”œβ”€ ProductPage.jsx
β”‚  β”‚  β”‚  β”œβ”€ SearchResults.jsx
β”‚  β”‚  β”‚  β”œβ”€ SellerAuth.jsx
β”‚  β”‚  β”‚  β”œβ”€ SellerDashboard.jsx
β”‚  β”‚  β”‚  β”œβ”€ SellerOrders.jsx
β”‚  β”‚  β”‚  β”œβ”€ SellerProducts.jsx
β”‚  β”‚  β”‚  β”œβ”€ ShippingDelivery.jsx
β”‚  β”‚  β”‚  β”œβ”€ TermsOfUse.jsx
β”‚  β”‚  β”‚  β”œβ”€ UserDashboard.jsx
β”‚  β”‚  β”‚  └─ WishlistPage.jsx
β”‚  β”‚  β”œβ”€ routes.jsx
β”‚  β”‚  β”œβ”€ selleraxios.js
β”‚  β”‚  β”œβ”€ services
β”‚  β”‚  β”‚  └─ HomeAPI.js
β”‚  β”‚  β”œβ”€ store.js
β”‚  β”‚  β”œβ”€ useraxios.js
β”‚  β”‚  └─ utils
β”‚  β”‚     └─ authUtils.js
β”‚  β”œβ”€ stats.html
β”‚  β”œβ”€ tailwind.config.js
β”‚  β”œβ”€ tsconfig.json
β”‚  └─ vite.config.js
β”œβ”€ package-lock.json
β”œβ”€ package.json
β”œβ”€ README.MD
└─ server
   β”œβ”€ app.js
   β”œβ”€ config
   β”‚  β”œβ”€ cloudinaryConfig.js
   β”‚  β”œβ”€ db.js
   β”‚  └─ multerConfig.js
   β”œβ”€ middleware
   β”‚  β”œβ”€ adminLoggedin.js
   β”‚  β”œβ”€ auth.js
   β”‚  └─ userLoggedin.js
   β”œβ”€ models
   β”‚  β”œβ”€ adminModel.js
   β”‚  β”œβ”€ CategoryModel.js
   β”‚  β”œβ”€ ComboOfferModel.js
   β”‚  β”œβ”€ layoutModel.js
   β”‚  β”œβ”€ orderModel.js
   β”‚  β”œβ”€ productModel.js
   β”‚  β”œβ”€ sellerModel.js
   β”‚  β”œβ”€ SponsoredProductModel.js
   β”‚  β”œβ”€ TempOrderModel.js
   β”‚  └─ userModel.js
   β”œβ”€ package-lock.json
   β”œβ”€ package.json
   β”œβ”€ routes
   β”‚  β”œβ”€ adminRouter.js
   β”‚  β”œβ”€ category.js
   β”‚  β”œβ”€ sellerRouter.js
   β”‚  β”œβ”€ userRouter.js
   β”‚  └─ userrr.js
   β”œβ”€ server.js
   └─ utils
      β”œβ”€ cache.js
      └─ otp.js

---

## ⚑ Performance Philosophy

> ⚑ β€œSpeed is a feature.”

* 🚫 No unnecessary API calls
* 🧠 Smart cache invalidation
* ⚑ Instant navigation (no reload feel)
* πŸ“¦ Preloaded critical data (`/initial-data`)

---

## πŸ”„ Data Flow Architecture

```mermaid
graph TD
A[Client] --> B[DataContext Cache]
B -->|Cache Hit| C[Instant Render ⚑]
B -->|Cache Miss| D[API Request]
D --> E[Redis Cache]
E --> F[MongoDB]
F --> E --> B

πŸš€ Getting Started

1️⃣ Clone the Repository

git clone https://github.com/sharadhkr/stark.git
cd stark

2️⃣ Install Dependencies

cd frontend && npm install
cd ../backend && npm install

3️⃣ Setup Environment Variables

Create .env file in backend:

MONGO_URI=your_mongo_uri
JWT_SECRET=your_secret
REDIS_URL=your_redis_url
ELASTIC_URL=your_elasticsearch_url
CLOUDINARY_URL=your_cloudinary_url

4️⃣ Run the Application

# backend
npm run dev

# frontend
npm start

πŸ§ͺ Future Enhancements

  • πŸ€– AI-powered product recommendations
  • πŸ“± Progressive Web App (PWA)
  • πŸ’³ Payment gateway integration
  • πŸ“Š Advanced analytics dashboard

🀝 Contributing

Contributions are welcome! Fork the repo and submit a PR πŸš€


πŸ‘¨β€πŸ’» Author

Sharad Rathore πŸš€ Full Stack Developer | Performance-Driven Engineer


⭐ Support

If you like this project:

πŸ‘‰ Star ⭐ the repo πŸ‘‰ Share it with others


⚑ Final Note

β€œStarkk is not just an e-commerce app β€” it's a performance-engineered system.”

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors