NirajD10 / pureplantparadise

An E-commerce indoor plant selling site using MERN Stack

Home Page:https://pureplantparadise.netlify.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

      

Pureplantparadise Logo

PurePlantParadise

PurePlantParadise

Introduction

PurePlantParadise is a MERN Stack Based and React, node js ecommerce platform with essential commerce features. Built with React, Express.js, Node.js and MongoDB modular and admin CMS.

Installation

Before installing each frontend and backend dependencies, create a .env file on both frontend and backend.

for Backend, in .env file -

## Frontend URL
FRONTEND_URL="<REPLACE FROTEND URL>"
## for example - FRONTEND_URL = "http://localhost:5173"

## Mongodb URL
MONGODB_SERVER_KEY="<PUT MONGDB SERVER KEY>"

## Firebase Storage
API_KEY=""
AUTH_DOMAIN=""
PROJECT_ID=""
STORAGE_BUCKET=""
MESSAGING_SENDER_ID=""
APP_ID=""

## JWT SECRET Token - decide yourself secret key.
JWT_TOKEN_SECRET_MESSAGE=""
ADMIN_JWT_TOKEN_SECRET_MESSAGE=""

## Razorpay payment gateway key
RAZORPAY_API_KEY=""
RAZORPAY_SECRET_KEY=""

We need to accept firebase image storage bucket, so you have to create new project from firebase and make sure fill api key to backend .env file. Then lastly, Go to 'Rules' tabs from "Storage" and update changes -

rules_version = '2';

// Craft rules based on data in your Firestore database
// allow write: if firestore.get(
//    /databases/(default)/documents/users/$(request.auth.uid)).data.isAdmin;
service firebase.storage {
  match /b/{bucket}/o {

    // This rule allows anyone with your Storage bucket reference to view, edit,
    // and delete all data in your Storage bucket. It is useful for getting
    // started, but it is configured to expire after 30 days because it
    // leaves your app open to attackers. At that time, all client
    // requests to your Storage bucket will be denied.
    //
    // Make sure to write security rules for your app before that time, or else
    // all client requests to your Storage bucket will be denied until you Update
    // your rules
    match /{allPaths=**} {
      allow read, write: if request.time < timestamp.date(2035, 5, 14);
    }
  }
}

for Frontend, in .env.local file-

VITE_BACKEND="<BACKEND URL>"
BACKEND="<BACKEND URL>"
## Make sure replace your backend url
VITE_AUTH_API_URL="<BACKEND URL>/auth/"
VITE_ADMIN_AUTH_API_URL="<BACKEND URL>/admin/"

## if you are planning to build, then change to true
VITE_PRODUCTION_MODE=false

## Frontend url
VITE_URL=""

you need install npm dependecy in each folder(frontend and backend).

npm install

if you want to start local,

Backend (make sure the current path should be inside of backend) -

npm run start

make sure backend server should be keep running.

Frontend (make sure the current path should be inside of frontend)-

npm run dev

Demo

Explore our demo store.

Admin Panel

Admin Demo user:

Email: demoadmin@pureplantparadise.com
Password: demo@12345

Store Front

Demo user:

Email: demo@pureplantparadise.com
Password: demo7890

Support

If you like my work, feel free to:

  • ⭐ this repository. It helps.

Ask a question about Pureplantparadise

You can ask questions, and participate in discussions about EverShop-related topics in the EverShop Discord channel.

Create a bug report

If you see an error message or run into an issue, please create bug report.

License

GPL-3.0 License

About

An E-commerce indoor plant selling site using MERN Stack

https://pureplantparadise.netlify.app/


Languages

Language:JavaScript 99.1%Language:CSS 0.8%Language:HTML 0.1%