Skip to content

thatcoolcoder1/estore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 

Repository files navigation

🛒 EStore - Full Stack MERN E-Commerce Platform

A modern, full-featured E-Commerce web application built with the MERN Stack, TypeScript, and Redux Toolkit. The application provides secure authentication, online payments, an admin dashboard, analytics, and a seamless shopping experience.


🚀 Features

👤 Authentication & Authorization

  • Secure JWT Authentication
  • User Registration & Login
  • Protected Routes
  • Role-based Authorization (Admin/User)

🛍️ Shopping Experience

  • Browse Products
  • Product Search & Filtering
  • Product Details
  • Shopping Cart
  • Wishlist Support
  • Quantity Management
  • Responsive UI

💳 Payments

  • Razorpay Payment Gateway Integration
  • Secure Checkout Process
  • Order Creation
  • Payment Verification

📦 Order Management

  • Place Orders
  • Order History
  • Order Status Tracking
  • Admin Order Management

🛠️ Admin Dashboard

  • Product Management (CRUD)
  • User Management
  • Order Management
  • Category Management
  • Sales Analytics
  • Revenue Dashboard
  • Inventory Management

📊 Analytics

  • Revenue Analytics
  • Sales Reports
  • User Statistics
  • Product Insights
  • Dashboard Charts
  • Analytics Controllers for Admin

🛠️ Tech Stack

Frontend

  • React
  • TypeScript
  • Redux Toolkit
  • React Router
  • Axios
  • Tailwind CSS / CSS Modules

Backend

  • Node.js
  • Express.js
  • TypeScript
  • MongoDB
  • Mongoose
  • JWT Authentication
  • Razorpay API
  • REST API

⚙️ Installation

Clone the Repository

git clone https://github.com/thatcoolcoder1/estore.git

cd estore

Install Dependencies

Backend

cd backend
npm install

Frontend

cd frontend
npm install

🔑 Environment Variables

Create a .env file inside the server directory.

PORT=5000

MONGO_URI=your_mongodb_connection

JWT_SECRET=your_jwt_secret

JWT_EXPIRE=7d

COOKIE_EXPIRE=7

RAZORPAY_KEY_ID=your_key_id

RAZORPAY_SECRET=your_secret

CLIENT_URL=http://localhost:5173

▶️ Running the Project

Start Backend

cd backend
npm run dev

Start Frontend

cd frontend
npm run dev

📸 Screens

  • Home Page
  • Product Listing
  • Product Details
  • Shopping Cart
  • Checkout
  • Razorpay Payment
  • User Dashboard
  • Admin Dashboard
  • Analytics Dashboard

(Add screenshots here for a better showcase.)


🔐 Security Features

  • JWT Authentication
  • Password Hashing
  • Protected API Routes
  • Admin Authorization
  • Input Validation
  • Secure Payment Verification
  • Environment Variable Protection

📈 Admin Analytics

The application includes an analytics dashboard displaying:

  • 📊 Total Revenue
  • 📦 Orders
  • 👥 Users
  • 🛒 Products
  • 📅 Monthly Sales
  • 📈 Revenue Trends
  • 📉 Inventory Statistics

🧩 API Features

  • Authentication APIs
  • Product APIs
  • Order APIs
  • Payment APIs
  • Analytics APIs
  • User APIs
  • Admin APIs

Future Improvements

  • Product Reviews & Ratings
  • Coupon System
  • Email Notifications
  • Inventory Alerts
  • Multiple Payment Providers
  • Wishlist Synchronization
  • Dark Mode
  • Docker Support
  • Unit & Integration Tests

🤝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to your branch
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License.


👨‍💻 Author

thatcoolcoder1

GitHub: https://github.com/thatcoolcoder1


⭐ If you found this project helpful, don't forget to star the repository!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors