Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReviewCash — Product Review Cashback Platform

India's #1 platform for earning cashback by posting genuine product reviews on Amazon & Flipkart.

🚀 Quick Start

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

Open http://localhost:5173 in your browser.


🔑 Demo Credentials

Role Email Password
Admin admin@reviewcash.in admin123
User rahul@example.com test123
User priya@example.com test123

📁 Project Structure

reviewcash/
├── public/
│   └── favicon.svg
├── src/
│   ├── main.jsx                    # Entry point
│   ├── App.jsx                     # Root router
│   │
│   ├── theme/
│   │   └── index.js                # Design tokens
│   │
│   ├── data/
│   │   └── seedData.js             # Demo products, users, orders
│   │
│   ├── utils/
│   │   └── helpers.js              # currency(), today(), uid(), STATUS_CONFIG
│   │
│   ├── context/
│   │   └── AppContext.jsx          # Global state (useReducer + Context)
│   │
│   ├── hooks/
│   │   └── useApp.js               # useApp() convenience hook
│   │
│   ├── styles/
│   │   └── global.css              # CSS variables, animations, resets
│   │
│   ├── components/
│   │   ├── ui/                     # Primitive UI components
│   │   │   ├── Badge.jsx
│   │   │   ├── Button.jsx
│   │   │   ├── Card.jsx
│   │   │   ├── Field.jsx
│   │   │   ├── SelectField.jsx
│   │   │   ├── Modal.jsx
│   │   │   ├── Toast.jsx
│   │   │   └── index.jsx           # StatCard, EmptyState, TabBar, Banner, etc.
│   │   │
│   │   ├── layout/
│   │   │   ├── Navbar.jsx
│   │   │   └── Footer.jsx
│   │   │
│   │   ├── home/
│   │   │   └── HomeSections.jsx    # Hero, HowItWorks, Featured, Trust
│   │   │
│   │   ├── products/
│   │   │   └── ProductCard.jsx
│   │   │
│   │   ├── dashboard/
│   │   │   ├── DashboardOverview.jsx
│   │   │   └── DashboardTabs.jsx   # Submit, Orders, Reviews, Cashback, Profile
│   │   │
│   │   └── admin/
│   │       ├── AdminProducts.jsx
│   │       └── AdminManagers.jsx   # Orders, Reviews, Cashback, Users
│   │
│   └── pages/
│       ├── HomePage.jsx
│       ├── ProductPages.jsx        # ProductsPage + ProductDetailPage
│       ├── AuthPages.jsx           # LoginPage + RegisterPage
│       ├── DashboardPage.jsx
│       ├── AdminPage.jsx
│       └── admin/
│           └── AdminDashboard.jsx
│
├── index.html
├── vite.config.js
├── package.json
└── README.md

🔄 User Workflow

  1. Browse → Find a product with cashback offer
  2. Buy → Purchase from Amazon/Flipkart via product link
  3. Submit Order → Upload order confirmation screenshot + Order ID
  4. Admin Verifies → Within 24 hours
  5. Mark Delivered → When you receive the product
  6. Post Review → Write a genuine 4★/5★ review on the platform
  7. Submit Review Proof → Upload review screenshot
  8. Admin Approves → Within 48 hours
  9. Cashback Released → Scheduled for 20 days
  10. Receive Payment → Admin marks paid with UTR reference

🛡 Admin Workflow

  1. Login with admin credentials
  2. Dashboard → See pending counts and alerts
  3. Orders → Verify/reject order proofs
  4. Reviews → Approve/reject review submissions (triggers cashback creation)
  5. Cashback → Mark scheduled payments as paid with transaction reference
  6. Products → Add/edit/enable/disable products
  7. Users → View all registered users

🔌 Production Integration

This demo uses in-memory state. For production, replace the AppContext reducer actions with API calls:

// Example: Replace local dispatch with API call
const submitOrder = async (orderData) => {
  const res = await fetch('/api/orders', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` },
    body: JSON.stringify(orderData),
  })
  const order = await res.json()
  dispatch({ type: 'ADD_ORDER', payload: order })
}

Recommended Stack

  • Backend: Node.js + Express or Next.js API routes
  • Database: PostgreSQL (with Prisma ORM)
  • Auth: JWT + bcrypt
  • Storage: AWS S3 (for screenshots)
  • Payments: Razorpay Payouts or Cashfree for UPI/IMPS
  • Queue: Bull + Redis (for 20-day cashback automation)
  • Hosting: Vercel (frontend) + Railway/Render (backend)

📦 Tech Stack

  • React 18 with Hooks
  • Vite (build tool)
  • CSS Variables + Google Fonts
  • No external UI libraries — fully custom components

Releases

Packages

Contributors

Languages