A sportswear e-commerce platform built with the MERN stack, providing a seamless experience for customers to browse, shop, and manage their accounts, while allowing administrators to efficiently manage products, orders, and payments.
The Sportswear E-Commerce Application allows users to browse a variety of sportswear products, manage their accounts, place orders, and leave reviews. Admins have full control over the catalog, orders, and payments, offering a dynamic platform for both shopping and business management.
This project incorporates key features such as product management, user authentication, shopping cart functionality, order placement, and integration with popular payment gateways like Stripe and Razorpay.
- User Management: Sign up, log in, and update profiles.
- Product Browsing: Browse and filter products by categories such as footwear, apparel, and accessories.
- Cart & Wishlist: Add, remove, or update items in the cart and wishlist.
- Order Management: Place, track, and cancel orders.
- Reviews & Ratings: Add, update, and delete reviews for products.
- Product Management: Admins can perform CRUD operations on products, including adding, viewing, updating, and deleting products.
- Category Management: Create and manage categories for sportswear like shoes, apparel, accessories, etc.
- Order Management: View, update, and cancel customer orders.
- Payment Gateway Integration: Manage and process payments through Stripe, Razorpay, and bank transfer options.
- Admin Dashboard: A centralized dashboard to monitor and manage users, orders, and products.
- Frontend: React.js, Redux
- Backend: Node.js, Express.js
- Database: MongoDB
- Cloud Storage: Cloudinary (for image uploads)
- Payment Gateways: Stripe, Razorpay
- Authentication: JSON Web Tokens (JWT), bcrypt
Follow these steps to set up the project locally:
-
Clone the repository:
git clone https://github.com/Plymouth-University/coursework-group_09.git cd coursework-group_09
-
Install dependencies:
cd backend npm install cd ../frontend npm install
-
Set up environment variables:
- Create a
.env
file in thebackend
directory. - Add the following variables:
PORT=4000 MONGO_URI=your-mongodb-uri JWT_SECRET=your-jwt-secret CLOUDINARY_CLOUD_NAME=your-cloud-name CLOUDINARY_API_KEY=your-api-key CLOUDINARY_API_SECRET=your-api-secret STRIPE_SECRET_KEY=your-stripe-key RAZORPAY_KEY_ID=your-razorpay-key-id RAZORPAY_KEY_SECRET=your-razorpay-key-secret
- Create a
-
Start the application:
# Start the backend cd backend npm run server # Start the frontend cd ../frontend npm run dev
coursework-group_09/
├── backend/
│ ├── config/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── .env
│ ├── server.js
│ └── package.json
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── App.jsx
│ │ └── index.js
│ ├── .env
│ └── package.json
├── README.md
└── LICENSE
- Ishara: User Management, Home Page Enhancements
- Sinel: Product Management, Product Page Enhancements
- Bingum: Category Management, Collection Page Enhancements
- Ashen: Order Management, Order Placement Frontend
- Anuradha: Cart Management, Cart Page Features
- Thisal: Wishlist Management, About & Contact Page
- Eshan: Reviews & Ratings, Admin Dashboard Integration
- Maheeshi: Payment Gateway Integration
This project is licensed under the MIT License. See the LICENSE file for details.