Skip to content

πŸ›’ Full-stack E-Commerce app with secure JWT auth, Stripe payments, MongoDB, Redis caching, and an admin dashboard. Built with Node.js, Express, and React + Tailwind CSS.

Notifications You must be signed in to change notification settings

sivasankar55/E-Commerce-Store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ Full-Stack E-Commerce Store

An advanced, full-stack E-Commerce web application built with Node.js, MongoDB, Redis, Stripe, and React. This project features secure authentication, a powerful admin dashboard, product and category management, Stripe payment integration, and more.

🌟 Features

Database Integration: Utilizes MongoDB for persistent data storage and Redis for high-performance caching.

Stripe Payment Gateway: Secure and reliable payment processing with Stripe.

Robust Authentication System: Implements a secure authentication system using JWT with refresh and access tokens.

Comprehensive E-Commerce Core: Features include product and category management, a fully functional shopping cart, a seamless checkout process, and a coupon code system.

Powerful Admin Dashboard: An intuitive dashboard for administrators to manage products, orders, coupons, and categories, along with a sales analytics overview.

Modern UI: A beautiful and responsive user interface built with Tailwind CSS.

Security First: Incorporates data validation, rate limiting, and input sanitization to protect against common vulnerabilities.

Optimized for Performance: Leverages Redis caching to enhance application speed and responsiveness.

πŸ€” How It Works

This E-Commerce platform provides a seamless shopping experience for users and a powerful management interface for administrators.

Authentication:

User: Users can sign up for a new account or log in with their credentials. The system uses a JWT-based approach with access and refresh tokens for secure and persistent sessions.

Admin: Administrators have a separate login to access the admin dashboard.

Shopping Experience:

Browse Products: Users can browse products, view details, and filter by category.

Shopping Cart: Users can add products to their shopping cart, update quantities, and apply coupon codes.

Checkout: The checkout process is handled securely through the Stripe payment gateway.

Admin Management:

Dashboard: The admin dashboard provides an overview of sales analytics.

Product Control: Admins can add, edit, and delete products and manage product categories.

Order Management: Admins can view and manage customer orders.

Coupon System: Admins can create and manage coupon codes for promotional campaigns.

πŸ› οΈ Tech Stack

This project is built with a modern and robust tech stack to ensure scalability, security, and performance.

Backend: Node.js, Express

Database: MongoDB, Redis (with Upstash)

Authentication: JSON Web Tokens (JWT)

Payment Gateway: Stripe

Image Management: Cloudinary

Frontend: React, Tailwind CSS

Security: Data validation, rate limiting, input sanitization

βš™οΈ Setup Instructions

To get a local copy up and running, follow these steps.

πŸ“ .env File Configuration

Create a .env file in your root directory and add the following environment variables:

code Code download content_copy expand_less

PORT=5000 MONGO_URI=your_mongo_uri

UPSTASH_REDIS_URL=your_redis_url

ACCESS_TOKEN_SECRET=your_access_token_secret REFRESH_TOKEN_SECRET=your_refresh_token_secret

CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret

STRIPE_SECRET_KEY=your_stripe_secret_key

CLIENT_URL=http://localhost:5173 NODE_ENV=development πŸ’» Run Locally

Install dependencies:

code Sh download content_copy expand_less IGNORE_WHEN_COPYING_START IGNORE_WHEN_COPYING_END npm install

Build the app:

code Sh download content_copy expand_less IGNORE_WHEN_COPYING_START IGNORE_WHEN_COPYING_END npm run build

Start the server:

code Sh download content_copy expand_less IGNORE_WHEN_COPYING_START IGNORE_WHEN_COPYING_END npm run start 🀝 Contributing

Contributions are welcome and greatly appreciated. If you have a suggestion to improve this project, please fork the repository and create a pull request. You can also open an issue with the "enhancement" tag.

About

πŸ›’ Full-stack E-Commerce app with secure JWT auth, Stripe payments, MongoDB, Redis caching, and an admin dashboard. Built with Node.js, Express, and React + Tailwind CSS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages