Skip to content

Baskit is a full-stack e-commerce platform built with the MERN stack, featuring secure authentication, Stripe payments, Redis session management, and Cloudinary-powered media delivery—designed for scalable, production-ready deployments

License

CodeCenturian/Baskit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛍️ Baskit - An E-Commerce Store (MERN Stack)

Baskit Banner

Baskit is a robust, full-stack e-commerce platform built using the MERN stack, tailored for premium fashion and wearables. Designed with clean architecture, modular scalability, and secure transaction flows, it demonstrates production-ready practices such as session management with Redis, token-based authentication, third-party payment integration, and dynamic content delivery via Cloudinary.

This project is ideal for demonstrating backend design, RESTful API development, secure payments integration, scalable state management, and CI-ready application structure—making it a solid fit for internship roles at product-based companies like Meta, Amazon, Google, Microsoft, Netflix, and high-growth startups.


🧰 Tech Stack & Tools

Node.js Express MongoDB Mongoose JWT Redis Stripe Cloudinary Axios Nodemon Dotenv React Hot Toast Lucide React React React Router Framer Motion Recharts React Confetti Autoprefixer


🚀 Features

  • 🛒 Fully functional e-commerce backend
  • 🔐 Secure login/register with JWT access & refresh tokens
  • 📦 Cart & order APIs with quantity-based logic
  • 💳 Stripe payment gateway integration
  • 📸 Image handling via Cloudinary
  • ⚙️ Admin dashboard for analytics & control
  • 📊 Dynamic revenue/metrics visualization using charts
  • 🧠 Redis-based session and token management

🔐 Environment Variables

Create a .env file in the root directory with the following:

PORT=5000
MONGODB_URI=your_mongodb_uri
UPSTASH_REDIS_URL=your_upstash_redis_url

ACCESS_TOKEN_SECRET=your_access_token_secret
REFRESH_TOKEN_SECRET=your_refresh_token_secret

CLOUNDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUNDINARY_API_KEY=your_cloudinary_api_key
CLOUNDINARY_API_SECRET=your_cloudinary_api_secret

STRIPE_SECRET_KEY=your_stripe_secret

CLIENT_URL=http://localhost:3000
NODE_ENV=development

💻 Running Locally

📥 Step-by-Step Guide

git clone https://github.com/CodeCenturian/Baskit.git
cd Baskit
npm install
  • Setup the .env file with correct values
  • Start backend server:
npm run dev

Your backend will now be running on http://localhost:5000


☁️ Deployment

🔧 Backend

Deploy on Render, Railway, or Vercel Serverless:

  • Set environment variables from .env
  • Build command: npm install
  • Start command: npm run start

🎯 Frontend

Deploy using:

Set environment:

REACT_APP_API_URL=https://your-deployed-api-url.com

📚 API Reference

🔐 Auth

POST /api/auth/register     // Register
POST /api/auth/login        // Login (Returns tokens)
GET  /api/auth/profile      // Get current user

🛍️ Products

GET    /api/products         // All products
GET    /api/products/:id     // Single product
POST   /api/products         // Add (admin)
PUT    /api/products/:id     // Edit (admin)
DELETE /api/products/:id     // Delete (admin)

🧺 Cart

POST   /api/cart/add         // Add to cart
GET    /api/cart             // User cart
DELETE /api/cart/:itemId     // Remove item

💳 Checkout

POST /api/checkout/stripe    // Create Stripe checkout session

This project displays hands-on experience with real-world backend challenges, such as:

  • Authentication Flows (Access/Refresh tokens using JWT)
  • State Management (Cart & Orders)
  • Cloud & CDN Use (Cloudinary & Redis)
  • Third-Party Payments (Stripe Checkout)
  • Modular Codebase (Easy for scaling/microservices)
  • Frontend UX Enhancements (via animations, toasts, visual analytics)

💡 Add a CI pipeline, testing framework like Jest or Vitest, and logging (e.g. Winston) for an even stronger resume-ready showcase.


🤝 Contributing

Contributions are welcome! Want to add wishlist, reviews, advanced analytics, or integrate AI-driven recommendations? Fork, feature-branch, and PR away.


📄 License

MIT © CodeCenturian


📬 Contact


About

Baskit is a full-stack e-commerce platform built with the MERN stack, featuring secure authentication, Stripe payments, Redis session management, and Cloudinary-powered media delivery—designed for scalable, production-ready deployments

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages