Product Requirements Document (PRD)
Project Type: B2B Catalog Website with Inquiry System
Date Created: January 24, 2025
Last Updated: January 24, 2025
1. Original Problem Statement
Build a website for “Jai Jashubai Garment Accessories” that sells buttons of various varieties.
Assumed Requirements (Based on defaults):
- Product catalog with inquiry/quote request system
- B2B-focused professional design
- Multiple button categories (Plastic, Metal, Wooden, Shell, Fashion, Industrial)
- Contact and inquiry forms
- Company information and testimonials
- Responsive design for all devices
2. User Personas
Primary Users
- Garment Manufacturers: Looking for bulk button orders with competitive pricing
- Fashion Designers: Seeking specialized fashion and decorative buttons
- Textile Business Owners: Need reliable suppliers for various button types
- Industrial Buyers: Requiring heavy-duty buttons for workwear
3. Core Requirements (Static)
Functional Requirements
- Product catalog with category filtering
- Product detail pages with specifications (sizes, colors, MOQ, pricing)
- Contact form with quote request functionality
- Company information display
- Mobile-responsive design
- Navigation across all pages
Non-Functional Requirements
- Professional B2B aesthetic
- Fast loading times
- Clean, accessible UI
- SEO-friendly structure
- Cross-browser compatibility
4. Architecture & Tech Stack
Frontend
- Framework: React 19.0.0
- Routing: React Router DOM v7
- UI Components: Shadcn/UI with Radix primitives
- Styling: Tailwind CSS with custom design system
- Icons: Lucide React
- Toast Notifications: Sonner
Backend (To be implemented)
- Framework: FastAPI (Python)
- Database: MongoDB with Motor (async driver)
- API Structure: RESTful APIs with /api prefix
Design System
- Primary Color: #61525a (Brand grey)
- Background: #f7f5f2 (Off-white/cream)
- Text Colors: #1e1919 (dark), #736c64 (subtle)
- Category Colors: Unique colors for each button category
- Typography: System fonts with proper hierarchy
5. What’s Been Implemented
✅ Phase 1: Frontend with Real Catalog Data (January 24, 2025)
Real Product Integration
- Authentic Catalog Images: Integrated 5 actual button catalog cards from Jai Jashubai
- Real Contact Information: Updated to actual phone numbers (74982 77077 / 75063 10750)
- Accurate Product Count: 136+ button varieties across 5 catalog categories
- Catalog Card References: Each product now includes catalog card number for easy ordering
Pages Created
- Home Page (
/)
- Hero section with company tagline and CTAs
- “Why Choose Us” features section
- Button category showcase (6 categories)
- Customer testimonials
- Final CTA section
- Products Page (
/products)
- Product grid with 14 sample products
- Category filtering system
- Product cards with:
- Images and category badges
- Available sizes and colors
- Pricing information and MOQ
- “Request Quote” CTA buttons
- Responsive filter toggles
- About Page (
/about)
- Company story and history
- Statistics section (25+ years, 500+ clients, 700+ designs)
- Product offerings overview
- Core values showcase
- “Why Partner With Us” benefits
- Contact Page (
/contact)
- Contact information cards (phone, email, address, hours)
- Quote request form with validation
- WhatsApp quick contact card
- Form fields: name, company, email, phone, button type, quantity, message
Components Created
- Header: Sticky navigation with top bar showing both phone numbers
- Footer: Company info, quick links, contact details with dual phone numbers
- Reusable UI: Cards, Buttons, Inputs, Forms, Badges (Shadcn)
Real Catalog Data Structure (/app/frontend/src/data/mock.js)
- 5 button categories matching actual catalog cards:
- Metal & Plastic Buttons (26 varieties) - Card 1
- Mixed Material Buttons (30 varieties) - Card 2
- Wooden Decorative Buttons (30 varieties) - Card 3
- Fashion Designer Buttons (30 varieties) - Card 4
- Pearl & Shell Buttons (20 varieties) - Card 5
- 24 products with actual catalog card numbers and authentic specifications
- Real company information with accurate phone numbers
- 3 customer testimonials
Real Catalog Card Images
All category and product images now use authentic catalog cards:
https://customer-assets.emergentagent.com/job_button-hub-1/artifacts/8cc25qox_6314427723236971898.jpg (Metal/Plastic)
https://customer-assets.emergentagent.com/job_button-hub-1/artifacts/xlvfsg62_6314427723236971899.jpg (Mixed Material)
https://customer-assets.emergentagent.com/job_button-hub-1/artifacts/th89dnry_6314427723236971894.jpg (Wooden)
https://customer-assets.emergentagent.com/job_button-hub-1/artifacts/l9l9riu4_6314427723236971895.jpg (Fashion Designer)
https://customer-assets.emergentagent.com/job_button-hub-1/artifacts/rd1di96k_6314427723236971897.jpg (Pearl/Shell)
Design Features
- Professional B2B aesthetic with grey/cream color scheme
- Hover effects and smooth transitions
- Responsive grid layouts (mobile-first)
- Category color coding
- Typography hierarchy following design guidelines
6. Prioritized Backlog
P0 Features (Must Have - Next Phase)
P1 Features (Should Have)
P2 Features (Nice to Have)
7. Next Tasks
- User Confirmation: Confirm satisfaction with frontend design and functionality
- Backend Development:
- Design database schema for products, categories, inquiries
- Create FastAPI endpoints
- Implement MongoDB models
- Add form submission logic
- Integration:
- Connect frontend to backend APIs
- Remove mock data
- Add error handling and loading states
- Testing: Full E2E testing with testing agent
Future Enhancements:
- Admin dashboard for content management
- Enhanced product filtering (price, size, color)
- Customer account system
- Order tracking system
8. API Contracts (To Be Implemented)
GET /api/categories
Response:
[
{
"id": 1,
"name": "Plastic Buttons",
"description": "...",
"image": "url",
"productCount": 150,
"color": "#3dd3ee"
}
]
GET /api/products?category={id}
Response:
[
{
"id": 101,
"categoryId": 1,
"name": "Classic Round Plastic Button",
"sizes": ["12mm", "15mm"],
"colors": ["White", "Black"],
"price": "₹2-5 per piece",
"moq": "1000 pieces",
"image": "url"
}
]
POST /api/inquiries
Request:
{
"name": "string",
"company": "string",
"email": "string",
"phone": "string",
"buttonType": "string",
"quantity": "string",
"message": "string"
}
Response:
{
"success": true,
"message": "Inquiry submitted successfully",
"inquiryId": "uuid"
}
9. Mock Data Details (To Be Replaced)
File: /app/frontend/src/data/mock.js
Current Mock Includes:
- 6 button categories with images, descriptions, product counts
- 14 products with full specifications
- 3 testimonials
- Company information object
Integration Notes:
- All mock data should be replaced with API calls
- Category filtering currently works with local state
- Form submissions log to console (need backend endpoint)
- Images are from Unsplash (should be replaced with actual product images)
10. Success Metrics
Technical Metrics
- Page load time < 3 seconds
- Mobile responsiveness score > 95
- Accessibility score > 90
- Zero console errors
Business Metrics (Future)
- Inquiry form submission rate
- Category click-through rates
- Average time on products page
- Mobile vs desktop traffic ratio
Notes
- Design follows Databricks-inspired professional B2B aesthetic
- All interactive elements have hover states
- Forms have validation (frontend only, backend validation needed)
- Responsive breakpoints: 768px (mobile), 991px (tablet), 1280px (desktop)
- Color scheme avoids prohibited dark gradients per design guidelines