ProjectsBarkat EnterpriseTechnical Documentation
Technical Documentation0 min read

Barkat Enterprise

Premium Tiles & Marbles E-Commerce Platform

Project Walkthrough

Barkat Enterprise - Full Walkthrough

Barkat Enterprise - Full Walkthrough

Click to play walkthrough

Barkat Enterprise: A Freelance Project for an Enterprise

📊 Key Metrics at a Glance

👥 Viewers📈 Leads Generated⚡ Load Time🖼️ Image Optimization
3,000+50+< 2 sec30-50% reduction

Welcome to the official technical documentation for Barkat Enterprise, a full-scale React marketplace serving 3,000+ viewers with modern UI/UX and interactive PDF catalogues. This project implements JAMstack architecture with WebP optimization and mobile-first design, built as a freelance project for a tiles and marbles enterprise.

In this documentation, we'll provide a deep dive into the technologies used, the business challenge addressed, detailed solutions implemented, and the measurable impact achieved.


ResourceLink
🌐 Live Applicationbarkat-enterprise.vercel.app
💻 Source CodeGitHub Repository
📝 Blog PostProject Case Study
🎬 Video DemoYouTube Walkthrough

📋 Table of Contents


🎯 The Challenge

Traditional tile showrooms struggle to showcase vast product inventories online effectively. The tiles and marbles industry faces unique digital transformation challenges:

Pain PointBusiness Impact
Limited Online PresenceCustomers couldn't browse products before visiting the showroom
High-Quality Imagery NeedsTiles require detailed, accurate color representation for purchase decisions
Catalogue Distribution CostsPrinting and distributing physical catalogues was expensive and slow
Mobile Network ConstraintsIndian mobile networks require optimized, lightweight content delivery
Showroom Experience GapBridging the tactile, in-person experience to digital was challenging

The core challenge: Create an engaging digital experience that matches the tactile showroom experience while handling hundreds of product images efficiently across diverse network conditions in India.


💡 The Solution

Developed a React 18 + Vite powered single-page application with a comprehensive feature set designed to address each pain point:

Architecture Decisions

DecisionImplementationRationale
JAMstack ArchitectureReact SPA + Vercel CDNFast global delivery, no server management
Mobile-First DesignTailwindCSS responsive utilities70%+ Indian users access via mobile
WebP Image FormatAutomated conversion pipeline30-50% smaller files, same visual quality
Client-Side RoutingReact Router DOMSmooth transitions, no page reloads
Serverless ContactEmailJS integrationZero backend maintenance, instant delivery

Key Implementation Highlights

javascript
// Dynamic product filtering with debounced search const filteredProducts = sampleTiles.filter(tile => (tile.category === selectedCategory || selectedCategory === 'All') && (selectedSubcategory === 'All Types' || tile.subcategory === selectedSubcategory) && tile.name.toLowerCase().includes(debouncedSearch.toLowerCase()) );
javascript
// Intersection observer-based lazy loading import LazyLoad from 'react-lazyload'; <LazyLoad height={200} offset={100} placeholder={<ImageSkeleton />}> <img src="/assets/Products/tile.webp" alt="Premium Tile" loading="lazy" /> </LazyLoad>

📈 Business Impact

The platform delivered measurable results across multiple business metrics:

Quantified Results

MetricResultDetails
👥 Total Viewers3,000+Strong engagement metrics with low bounce rate
📈 Organic Leads50+Generated through contact forms and direct inquiries
Initial Load Time< 2 secondsAchieved via WebP compression and lazy loading
📱 Mobile ConversionImprovedResponsive design optimized for Indian device landscape
💰 Cost ReductionSignificantReduced catalogue distribution costs via digital PDF system
🔄 Repeat InquiriesMeasurableB2B conversions and returning customer engagement

Impact Breakdown

  • 3,000+ viewers with strong engagement metrics and low bounce rate
  • 50+ organic leads generated through contact forms and direct inquiries
  • Sub-2 second initial load time via WebP compression and lazy loading
  • Mobile conversion rate improvement through responsive design optimization
  • Reduced catalogue distribution costs via digital PDF system
  • Measurable B2B conversions and repeat customer inquiries

Technologies and Tools Used

Core Stack

TechnologyVersionPurpose
React18.3.1Functional components and custom hooks architecture
Vite5.4.1Lightning-fast HMR and optimized production builds with automatic code splitting
Tailwind CSS3.4.10Utility-first styling with custom design tokens for brand consistency
React Router DOM6.27.0Client-side routing with smooth page transitions and nested routes

Supporting Libraries

LibraryVersionPurpose
PDFJS-DistLatestFull-featured in-browser PDF rendering without external downloads
EmailJS Browser4.4.1Serverless contact forms with email template management
React LazyLoad3.2.1Intersection observer-based image loading with placeholders
React Icons5.3.0Scalable vector icons for consistent design language
Vercel Analytics1.3.1User behavior tracking, conversion funnels, and performance metrics

Development Tools

ToolPurpose
PostCSS + AutoprefixerCross-browser compatibility across legacy browsers
ESLintCode quality standards and linting rules
PrettierConsistent code formatting across the codebase

Project Overview

Barkat Enterprise was developed as a full-fledged business solution showcasing 10+ product categories with dynamic filtering and advanced search capabilities.

Core Capabilities

FeatureDescription
📚 Product CatalogDetailed showcase with images and downloadable PDF catalogues
🎠 Hero CarouselAuto-rotating showcase with hardware-accelerated animations
🔍 Advanced FilteringCategory/subcategory hierarchies with real-time keyword search
📄 PDF ViewerIn-browser rendering using PDFJS for seamless catalogue access
📧 Lead CaptureEmailJS contact integration for instant inquiry submission
📱 Responsive DesignMobile-first approach optimized for Indian device landscape

Technical Architecture

┌─────────────────────────────────────────────────────────────┐
│                     Vercel Edge Network                      │
│                    (Global CDN Delivery)                     │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                    React 18 SPA (Vite)                       │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐  │
│  │   Router    │  │  Components │  │   State Management  │  │
│  │  (6 Routes) │  │ (Modular)   │  │   (React Hooks)     │  │
│  └─────────────┘  └─────────────┘  └─────────────────────┘  │
└─────────────────────────────────────────────────────────────┘
         │                    │                    │
         ▼                    ▼                    ▼
┌─────────────┐      ┌─────────────┐      ┌─────────────────┐
│  PDFJS-Dist │      │   EmailJS   │      │ Vercel Analytics│
│  (Catalogues)│      │  (Contact)  │      │  (Tracking)     │
└─────────────┘      └─────────────┘      └─────────────────┘

Dynamic Catalog Generation

javascript
const catalogues = { catalogue1: { name: '1×1.5 BARKAT ENTERPRISE', images: Array.from( { length: 29 }, (_, i) => `/assets/Catalogue/1X1.5 BARKAT ENTERPRISE/${i + 1}.webp` ), pdfPath: '/assets/Catalogue/1X1.5 BARKAT ENTERPRISE (ALL)_compressed.pdf' }, };

This approach enables:

  • Scalability: Easy addition of new catalogues without code duplication
  • Maintainability: Centralized configuration for all product catalogues
  • Performance: Efficient path generation for large image sets

Key Features

1. Secure Contact Integration

📧 EmailJS Integration:

CapabilityImplementation
Template ConfigurationCustomizable email formatting with business branding
Real-time MessagingInstant notification on form submission
ValidationClient-side form validation before submission
No Backend RequiredFully serverless contact form architecture

2. Image Optimization Pipeline

🖼️ WebP Optimization Strategy:

BeforeAfterImprovement
JPEG/PNG formatsWebP format30-50% size reduction
Relative pathsAbsolute /assets/ pathsReliable deployment
Eager loadingIntersection observer lazy loadingFaster initial paint
jsx
// Optimized image implementation <LazyLoad height={200} offset={100}> <img src="/assets/Products/tile.webp" alt="Premium Tile" className="w-full h-auto object-cover" loading="lazy" /> </LazyLoad>

3. PDF Catalogue System

📄 PDFJS-Dist Features:

  • ✅ Product catalogues rendered directly in-browser
  • ✅ No external downloads required for viewing
  • ✅ Seamless download option for offline access
  • ✅ Mobile-responsive PDF viewer with zoom controls
  • ✅ Page navigation and thumbnail previews

4. Advanced Product Filtering

jsx
// Multi-level filtering system useEffect(() => { const filtered = sampleTiles.filter(tile => (tile.category === selectedCategory || selectedCategory === 'All') && (selectedSubcategory === 'All Types' || tile.subcategory === selectedSubcategory) && tile.name.toLowerCase().includes(searchQuery.toLowerCase()) ); setFilteredTiles(filtered); }, [selectedCategory, selectedSubcategory, searchQuery]);

5. Hardware-Accelerated Animations

jsx
// GPU-optimized hero carousel <section className="relative h-[92vh] overflow-hidden"> <h1 className="transform-gpu will-change-transform leading-tight"> BARKAT ENTERPRISES </h1> {images.map((img, index) => ( <div key={index} className={`absolute inset-0 transition-opacity duration-1000 ${currentSlide === index ? 'opacity-100' : 'opacity-0'}`} > <img src={img} className="object-cover w-full h-full" alt="" /> </div> ))} </section>

Technical Deep Dive

Performance Optimizations

OptimizationImplementationResult
Code SplittingVite automatic chunkingReduced initial bundle size
Tree ShakingES modules + ViteDead code elimination
Image CompressionWebP conversion30-50% smaller files
Lazy LoadingReact LazyLoad + nativeDeferred off-screen images
CSS PurgingTailwindCSS production buildMinimal CSS footprint
Font OptimizationSystem fonts + font-displayFaster text rendering

Accessibility Compliance

StandardImplementation
WCAG 2.1 Level AASemantic HTML, ARIA labels
Keyboard NavigationFull keyboard support for all interactive elements
Screen Reader SupportDescriptive alt text, proper heading hierarchy
Color ContrastMinimum 4.5:1 contrast ratio maintained
Focus IndicatorsVisible focus states on all interactive elements

Mobile-First Responsive Design

css
/* TailwindCSS responsive breakpoints optimized for Indian devices */ /* sm: 640px (basic smartphones) */ /* md: 768px (tablets, large phones) */ /* lg: 1024px (small laptops) */ /* xl: 1280px (desktops) */ /* Example responsive utility usage */ <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"> {/* Product cards */} </div>

Challenges Faced

1. Image Path Issues on Vercel

AspectDetails
ProblemImages not loading on deployed site due to incorrect asset referencing
Root CauseRelative paths not resolving correctly after Vite build process
SolutionMoved all image files to public directory with absolute path references
jsx
// Before (broken on deployment) <img src="../assets/logo.png" /> // After (working correctly) <img src="/assets/Logo/logo.png" />

2. SPA Routing 404 Errors

AspectDetails
ProblemPage refresh or direct URL access resulted in 404 errors
Root CauseVercel attempting to serve static files instead of SPA entry point
SolutionAdded rewrite rules in vercel.json for client-side routing
json
{ "rewrites": [ { "source": "/(.*)", "destination": "/" } ] }
AspectDetails
ProblemText shaking during carousel image transitions
SolutionGPU acceleration with transform-gpu and will-change-transform

4. Indian Network Optimization

AspectDetails
ChallengeSlow 3G/4G networks in tier-2/3 Indian cities
SolutionAggressive lazy loading, WebP compression, minimal JavaScript payload

Deployment and Testing

Vercel Deployment Configuration

SettingValue
Framework PresetVite
Build Commandnpm run build
Output Directorydist
Install Commandnpm install
Node.js Version18.x

Deployment Benefits

FeatureBenefit
Automatic CI/CDDeployment on every git push
Preview DeploymentsTest PRs before merging
Global Edge NetworkFast delivery across India
Analytics IntegrationBuilt-in performance monitoring

Testing Strategy

TypeToolScope
Unit TestingJestComponent validation
Integration TestingPostmanEmailJS API interactions
Visual TestingManualCross-browser verification
Performance TestingLighthouseCore Web Vitals
Accessibility Testingaxe DevToolsWCAG compliance

Desktop Views

HomepageAbout Us
Desktop Homepage
Desktop Homepage
About Us Section
About Us Section
CataloguesProducts
Catalogues Section
Catalogues Section
Products Section
Products Section
HeaderContact
Header Section
Header Section
Contact Section
Contact Section

Mobile View

Mobile Responsive View
Mobile Responsive View

Mobile Responsive Design


What I Learned

This freelance project offered invaluable lessons in modern web development and client delivery:

Technical Skills

AreaKey Learning
🖼️ Asset ManagementOptimizing image paths and WebP conversion for deployment
Performance EngineeringLazy loading, code splitting, and Core Web Vitals optimization
🚀 JAMstack DeploymentConfiguring SPAs on Vercel with proper routing
🔄 Dynamic Code PatternsTemplate literals and array methods for scalable data handling
📱 Mobile-First DesignResponsive patterns for Indian mobile device landscape

Soft Skills

SkillApplication
Client CommunicationTranslating business requirements to technical specifications
Project ScopingDefining MVP features and phased delivery approach
Problem SolvingDebugging production-specific deployment issues
Time ManagementDelivering within freelance timeline constraints

Future Improvements

Planned Feature Roadmap

PriorityFeatureDescription
🔴 HighAI-Powered AnalyticsML insights from customer interactions and behavior patterns
🔴 HighAdmin DashboardCMS for product and catalogue management
🟡 MediumMulti-Language SupportHindi and regional language translations
🟡 Medium3D Room VisualizerAR/VR integration for tile preview in real spaces
🟢 LowUser AccountsSave favorites, order history, and preferences
🟢 LowPrice CalculatorEstimate costs based on room dimensions

Technical Roadmap

  • Implement Progressive Web App (PWA) capabilities with offline support
  • Add comprehensive unit and integration tests with Jest + React Testing Library
  • Set up CI/CD pipeline with automated testing and deployment gates
  • Implement advanced caching strategies with service workers
  • Add SEO optimizations with meta tags, structured data, and sitemap

Conclusion

Barkat Enterprise is a prime example of modern web development tailored to meet enterprise needs in the Indian market. Developed as a freelance project, it seamlessly integrates React 18, TailwindCSS, Vite, and Vercel to deliver a robust, scalable, and user-friendly platform.

Skills Demonstrated

CategorySkills
FrontendReact 18, Functional Components, Custom Hooks, TailwindCSS
PerformanceWebP optimization, Lazy Loading, Code Splitting, Core Web Vitals
ArchitectureJAMstack, SPA Routing, Serverless Integrations
BusinessFreelance Delivery, Client Communication, B2B Solutions

Key Achievements

  • ✅ Built responsive, component-based UI serving 3,000+ viewers
  • ✅ Generated 50+ organic leads through optimized contact forms
  • ✅ Achieved sub-2 second load times via performance engineering
  • ✅ Delivered cost savings through digital catalogue distribution
  • ✅ Implemented WCAG 2.1 accessibility compliance

FAQs

What technologies were used in this project?

The project utilizes React 18.3.1 with functional components, Vite 5.4.1 for building, TailwindCSS 3.4.10 for styling, and Vercel for deployment. Supporting libraries include PDFJS-Dist for PDF rendering, EmailJS for contact forms, React LazyLoad for performance, and Vercel Analytics for tracking.

What were the main challenges faced?

Primary challenges included:

  • 🖼️ Image path resolution on Vercel deployment
  • ⚡ SPA routing 404 errors on page refresh
  • 📱 Optimizing for varied Indian network conditions
  • 🎠 GPU-accelerated carousel animations

How were images optimized?

Images were optimized through:

  1. Converting all images to WebP format (30-50% size reduction)
  2. Relocating to /public directory with absolute paths
  3. Implementing intersection observer-based lazy loading
  4. Using placeholder components during load

What business impact was achieved?

  • 3,000+ viewers with strong engagement
  • 50+ leads generated through contact forms
  • Sub-2 second initial load time
  • Reduced costs via digital catalogue distribution
  • Improved mobile conversion through responsive design

Is the project scalable for larger businesses?

Yes, the architecture supports enterprise scaling:

  • Modular component structure for feature additions
  • Centralized data management for products
  • Performance optimizations for large catalogues
  • Vercel's edge network for global delivery
  • Analytics for data-driven decisions

🏷️ Project Badges

ReactReact ViteVite TailwindTailwind FreelanceFreelance E-CommerceE-Commerce PDFPDF B2BB2B ProductionProduction JAMstackJAMstack


Built with ❤️ by Aman Suryavanshi

PortfolioPortfolio LinkedInLinkedIn GitHubGitHub