CartNova is a full-stack e-commerce platform with a React/Tailwind frontend deployed on Vercel and a Django REST + MySQL backend on Render. It features over 11k products across 10 categories, TF-IDF + Cosine Similarity recommendations, top-selling product visualizations, authentication, and full cart/order workflows.
- 🛍️ Product Catalog: Browse over 11,000 products across 10+ categories
- 🔍 Smart Recommendations: TF-IDF + Cosine Similarity algorithm for personalized product recommendations
- 📊 Analytics: Top-selling product visualizations and insights
- 🔐 Authentication: Secure user authentication with JWT tokens
- 🔑 Social Login: Google OAuth integration via django-allauth
- 🛒 Shopping Cart: Full cart management with add, update, and remove functionality
- 💳 Payment Integration: Razorpay and PayPal payment gateway support
- 📱 Responsive Design: Modern UI built with React, Tailwind CSS, and Material-UI
- 🎨 Beautiful UI: Smooth animations with Framer Motion and Lottie
- 🔒 Security: reCAPTCHA integration for enhanced security
- React 19 - UI library
- Vite - Build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Material-UI - React component library
- React Router - Client-side routing
- Axios - HTTP client
- React Query - Data fetching and caching
- Framer Motion - Animation library
- Lottie React - Animation rendering
- React Hot Toast - Toast notifications
- Django 5.2.7 - Web framework
- Django REST Framework - REST API toolkit
- MySQL - Database
- JWT Authentication - Token-based auth
- django-allauth - Authentication library
- django-cors-headers - CORS handling
- Razorpay - Payment gateway
- PayPal SDK - Payment integration
- NumPy & Pandas - Data processing for recommendations
CartNova/
├── backend/ # Django backend
│ ├── cartnova/ # Django project settings
│ │ ├── settings.py # Project settings
│ │ └── urls.py # Main URL configuration
│ ├── core/ # Core app (users, authentication)
│ ├── shop_app/ # E-commerce app (products, cart, orders)
│ ├── media/ # User uploaded files
│ ├── manage.py # Django management script
│ └── requirements.txt # Python dependencies
│
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── context/ # React context providers
│ │ ├── hooks/ # Custom React hooks
│ │ ├── services/ # API services
│ │ ├── assets/ # Static assets
│ │ ├── api.js # API configuration
│ │ └── App.jsx # Main App component
│ ├── public/ # Public assets
│ └── package.json # Node dependencies
│
└── README.md # This file
- Import project in Vercel
- Set build command:
npm run build - Set output directory:
dist - Add environment variables if needed
- Deploy!
- Connect your GitHub repository
- Create a new Web Service
- Set build command:
pip install -r requirements.txt - Set start command:
gunicorn cartnova.wsgi:application - Add environment variables
- Configure MySQL database addon
- Deploy!
POST /token/- Get JWT tokenPOST /token/refresh/- Refresh JWT tokenPOST /accounts/register/- User registrationPOST /accounts/google-login/- Google OAuth loginGET /accounts/google/login/- Google OAuth login redirect
GET /products/- List all products (supports query params: page, q, category, pageSize)GET /categories/- List all categoriesGET /product_detail/<slug>/- Get product details by slug
GET /get_cart- Get user's cartPOST /add_item/- Add item to cartPOST /update_quantity/- Update cart item quantityPOST /delete_cartitem/- Remove cart itemGET /product_in_cart- Check if product is in cartGET /get_cart_stat- Get cart statistics
GET /get_username- Get current usernameGET /user_info- Get user informationPOST /update_user/- Update user profile
POST /initiate_payment/- Initiate paymentPOST /verify_payment/- Verify paymentGET /order_history/- Get user's order history
GET /api/image-proxy/- Image proxy endpointPOST /contact/- Contact form submission