NextMart is a robust and scalable backend solution for an e-commerce platform. It handles user authentication, product management, order processing, payment integration, and more. Built with Node.js, Express.js, and MongoDB, this project is designed for high performance and flexibility.
- User Authentication: Secure login, registration, and password reset using JWT.
- Product Management: CRUD operations for products.
- Order Management: Seamless order placement and processing.
- Payment Integration: Integrated with SSLCommerz for secure payment processing.
- Cloudinary Integration: Efficient image storage and retrieval.
- Email Notifications: Automated email services for various actions.
Follow the steps below to set up and run the project locally:
- Node.js (v20+)
- MongoDB (Local or Atlas)
- Yarn or npm
-
Clone the repository:
git clone https://github.com/Apollo-Level2-Web-Dev/NextMert-Server.git cd NextMert-Server
-
Install dependencies:
yarn install # or npm install
-
Create a
.env
file in the root directory and configure the environment variables as shown below. -
Run the development server:
yarn dev # or npm run dev
-
Access the application on
http://localhost:3001
.
The following .env
configuration is required to run the project:
# Environment
NODE_ENV=development
# Port
PORT=3001
# Database URL
DB_URL="mongodb+srv://<username>:<password>@cluster0.mongodb.net/<db_name>?retryWrites=true&w=majority"
# Bcrypt Salt Rounds
BCRYPT_SALT_ROUNDS=12
# JWT Secrets and Expiry
JWT_ACCESS_SECRET="<your_access_secret>"
JWT_ACCESS_EXPIRES_IN=7d
JWT_REFRESH_SECRET="<your_refresh_secret>"
JWT_REFRESH_EXPIRES_IN=1y
JWT_OTP_SECRET="<your_otp_secret>"
JWT_PASS_RESET_SECRET="<your_pass_reset_secret>"
JWT_PASS_RESET_EXPIRES_IN=15m
# Cloudinary Credentials
CLOUDINARY_CLOUD_NAME="<your_cloudinary_cloud_name>"
CLOUDINARY_API_KEY="<your_cloudinary_api_key>"
CLOUDINARY_API_SECRET="<your_cloudinary_api_secret>"
# Email Configuration
SENDER_EMAIL="<your_email>"
SENDER_APP_PASS="<your_app_password>"
# SSLCommerz Payment Info
STORE_NAME="teststore"
PAYMENT_API="https://sandbox.sslcommerz.com/gwprocess/v3/api.php"
VALIDATION_API="https://sandbox.sslcommerz.com/validator/api/validationserverAPI.php"
STORE_ID="<your_store_id>"
STORE_PASSWORD="<your_store_password>"
VALIDATION_URL="<your_validation_url>"
SUCCESS_URL="<your_success_url>"
FAILED_URL="<your_failed_url>"
CANCEL_URL="<your_cancel_url>"
- Start Development Server:
yarn dev
- Build Production:
yarn build
- Run in Production Mode:
yarn start
https://documenter.getpostman.com/view/28371413/2sAYQXpCyd
NextMart is a single-vendor e-commerce platform. This repository contains the server-side implementation, providing robust backend services and APIs to power the platform.