https://github.com/kamalheydari/digikala-clone-nextjs
advance clone of digikala includes products page, single product page, category, sorting, filtering, JWT authentication, login page, register page, edit user information, order cart, review and admin dashbord to add new product, accept reviews, add category, details and specification for category and more...
https://github.com/kamalheydari/digikala-clone-nextjs
form-hooks headlessui-react jalali-moment jwt-authentication mongodb nextjs react swiper tailwindcss
Last synced: about 2 months ago
JSON representation
advance clone of digikala includes products page, single product page, category, sorting, filtering, JWT authentication, login page, register page, edit user information, order cart, review and admin dashbord to add new product, accept reviews, add category, details and specification for category and more...
- Host: GitHub
- URL: https://github.com/kamalheydari/digikala-clone-nextjs
- Owner: kamalheydari
- Created: 2022-06-05T05:56:16.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-05T17:25:39.000Z (12 months ago)
- Last Synced: 2024-06-05T19:47:18.358Z (12 months ago)
- Topics: form-hooks, headlessui-react, jalali-moment, jwt-authentication, mongodb, nextjs, react, swiper, tailwindcss
- Language: TypeScript
- Homepage: https://digikala-clone-nextjs-p.vercel.app
- Size: 6.6 MB
- Stars: 25
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Digikala Clone NextJs
Advance clone of digikala includes products page, single product page, category, sorting, filtering, JWT authentication, login page, register page, edit user information, order cart, review and admin dashbord to add new product, accept reviews, add category, details and specification for category and more...
## Using
- NextJs
- Typescript
- TailwindCss
- MongoDB
- Redux - Toolkit - RTK Query
- JWT## Features
Full-stack e-commerce website
- Allows registered users to place orders, write product reviews, and update their account information.
Admin privileges
- Enables creation of new product categories.
- Allows definition of unique specifications and features for each category.
- Manages banners, sliders, and new product listings.
- Updates the status of orders and reviews.User-friendly search, filter, and sort functions
- Enables easy product discovery and sorting based on user preferences.
- Displays top discount products, most favorited items, and best-selling products for each category.## How to install and run the project ...
1. Clone or download the repository by running the following command in your terminal:
```bash
git clone https://github.com/kamalheydari/digikala-clone-nextjs.git
```2. Install the project dependencies using either npm or yarn:
```bash
npm install
```or
```bash
yarn
```3. Define the required environment variables in a file named .env.local located in the root directory of the project. The following variables are necessary:
```bash
MONGODB_URL=JWT_SECRET_KEY=
NEXT_PUBLIC_LIARA_ENDPOINT=
NEXT_PUBLIC_LIARA_BUCKET_NAME=
NEXT_PUBLIC_LIARA_ACCESS_KEY=
NEXT_PUBLIC_LIARA_SECRET_KEY=```
4. Install [MongoDB](https://www.mongodb.com/try/download/community-kubernetes-operator) and [MongoDB Compass](https://www.mongodb.com/products/compass) on your local machine. If you already have a MongoDB instance set up, skip this step.
5. Download the database from the following link:
```bash
https://drive.google.com/drive/folders/1tonl8z-LbPM_umavCs9DBVs4hc0CmwVd?usp=sharing
```6. Create a new database in MongoDB Compass and create the required collections with the same names as the downloaded JSON files. Then, import the data from the downloaded files into the corresponding collections.
7. Log in to [Liara](https://liara.ir/) for free and create a new bucket (ذخیره سازی ابری). Then, set the last four environment variables listed above to the corresponding values provided by Liara. This will allow the application to use Liara for cloud storage.
8. Create an account by accessing the following URL in your web browser:
```bash
http://localhost:3000/authentication/login
```9. After creating the account, find your account in the database and change the `role` field to `root`. This will grant you access to all the admin dashboard features.
## Demo
See demo on vercel
[Nextjs Digikala Clone](https://digikala-clone-nextjs-p.vercel.app/)### Home Page

### Category Page

### Products Page

### Product Page

### Cart Page

### Shipping Page

### Profile Page

### Adrress Page

### Orders Page

### Admin/Products Page

### Admin/Edit Page

### Admin/Details Page

### Admin/Categories Tree Page

### Admin/Banners Page

### Admin/Categories List Page

### Admin/Category Create Page

### Admin/Sliders Page
