mirror of
https://github.com/sergeyyarkov/digital-store.git
synced 2026-10-11 10:19:15 +03:00
Update README.md
This commit is contained in:
parent
7f7ce78f83
commit
13acda9581
27
README.md
27
README.md
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
Digital Store - это настраиваемый интернет-магазин на платформе NodeJS для продажи ваших цифровых товаров.<br>
|
Digital Store - это настраиваемый интернет-магазин на платформе NodeJS для продажи ваших цифровых товаров.<br>
|
||||||
<a href="https://polar-peak-95205.herokuapp.com/">Демонстрания функционирования интернет-магазина.</a>
|
<a href="https://polar-peak-95205.herokuapp.com/">Демонстрация функционирования интернет-магазина.</a>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<img alt="GitHub package.json version (branch)" src="https://img.shields.io/github/package-json/v/sergeyyarkov/digital-store/production?color=%2326a69a">
|
<img alt="GitHub package.json version (branch)" src="https://img.shields.io/github/package-json/v/sergeyyarkov/digital-store/production?color=%2326a69a">
|
||||||
@ -40,17 +40,17 @@
|
|||||||
- [Лицензия](#Лицензия)
|
- [Лицензия](#Лицензия)
|
||||||
|
|
||||||
## О проекте:
|
## О проекте:
|
||||||
Этот проект представляет из себя интернет-магазин на платформе NodeJS, вы можете продавать свои цифровые товары именно скачав этот репозиторий, в [панели управления](#Панель-управления) вы сможете создавать, удалять и редактировать товары или категории . В проекте используется концепция REST API, поэтому для отдачи информации клиенту существует отдельный API. Информация о покупателях, товарах, категориях и т.д хранится в БД MongoDB (используется нативный драйвер).
|
Этот проект представляет из себя интернет-магазин на платформе NodeJS, Вы можете продавать свои цифровые товары именно загрузив этот репозиторий, в [панели управления](#Панель-управления) Вы сможете создавать, удалять и редактировать товары или категории . В проекте используется концепция REST API, поэтому для отдачи информации клиенту существует отдельный API. Информация о покупателях, товарах, категориях и т.д хранится в БД MongoDB (используется нативный драйвер).
|
||||||
### Функционал покупателя:
|
### Функционал покупателя:
|
||||||
- Возможность выбирать интересующие категории, переход по одиночным страницам конкретного товара.
|
- Возможность выбирать интересующие категории, переход по одиночным страницам конкретного товара.
|
||||||
- Возможность комментировать как отдельный товар, так и весь магазин на отдельной странице с помощью системы комментариев Disqus.
|
- Возможность комментировать как отдельный товар, так и весь магазин на отдельной странице с помощью системы комментариев Disqus.
|
||||||
- Возможность фильтровать интересующую категорию или все товары через фильтр.
|
- Возможность фильтровать интересующую категорию или все товары через фильтр.
|
||||||
- Покупатель может совершать одну или несколько покупок через корзину или через кнопку "Купить".
|
- Покупатель может совершать одну или несколько покупок через корзину или кнопку "Купить".
|
||||||
- Оплата осуществляется через сервис QIWI API.
|
- Оплата осуществляется через сервис QIWI API.
|
||||||
- Результатом оплаты будут данные одного или нескольких товаров, все данные отсылаются на почту покупателя, которую он указывал при создании заказа.
|
- Результатом оплаты будут данные одного или нескольких товаров, все данные отсылаются на электронную почту покупателя, которую он указал при создании заказа.
|
||||||
- Покупатель может узнать все свои совершенные покупки в магазине на отдельной странице.
|
- Покупатель может узнать все свои совершенные покупки в магазине на отдельной странице.
|
||||||
### Функционал администратора:
|
### Функционал администратора:
|
||||||
Для входа в админ-панель необходимо дописать в адресной строке `/admin`, после вы попадете на страницу авторизации где нужно вписать данные `email:password`. По умолчанию `admin@support.ru:admin`
|
Для входа в админ-панель необходимо дописать в адресной строке `/admin`, после Вы попадете на страницу авторизации где нужно ввести данные в формате `email:password`. По умолчанию `admin@support.ru:admin`
|
||||||
- Пароль админа хэшируется через `bcrypt` для безопасности и записывается в БД.
|
- Пароль админа хэшируется через `bcrypt` для безопасности и записывается в БД.
|
||||||
- На главной странице есть небольшая статистика, где можно посмотреть: сумму проданных товаров, кол-во проданных товаров, кол-во товаров в наличии.
|
- На главной странице есть небольшая статистика, где можно посмотреть: сумму проданных товаров, кол-во проданных товаров, кол-во товаров в наличии.
|
||||||
- На главной странце так же можно узнать подробные данные о покупателях: номер заказа, почта покупателя, способ оплаты, дата покупки, сумма и данные которые были высланы по почте.
|
- На главной странце так же можно узнать подробные данные о покупателях: номер заказа, почта покупателя, способ оплаты, дата покупки, сумма и данные которые были высланы по почте.
|
||||||
@ -71,21 +71,24 @@
|
|||||||
- Или клонировать репозиторий `git clone https://github.com/sergeyyarkov/digital-store.git -b production`.
|
- Или клонировать репозиторий `git clone https://github.com/sergeyyarkov/digital-store.git -b production`.
|
||||||
- Установите [Node.js](https://nodejs.org/ru/) не ниже версии 7.6.0, в процессе установки Node.js установите Node Package Manager.
|
- Установите [Node.js](https://nodejs.org/ru/) не ниже версии 7.6.0, в процессе установки Node.js установите Node Package Manager.
|
||||||
- Установите БД MongoDB на ваш компьютер или создайте кластер на сайте [www.mongodb.com](https://www.mongodb.com/) и импортируйте туда дамп структуры БД, которые находится в корне приложения `/database_dump`.
|
- Установите БД MongoDB на ваш компьютер или создайте кластер на сайте [www.mongodb.com](https://www.mongodb.com/) и импортируйте туда дамп структуры БД, которые находится в корне приложения `/database_dump`.
|
||||||
- Для работоспособности интернет-магазина необходимо установить зависимости. Выполните комманду `npm install`.
|
- Для работоспособности интернет-магазина необходимо установить зависимости. Выполните комманду `npm i`.
|
||||||
- Далле необходимо настроить переменные среды. Создайте файл `.env` в корне вашего интернет-магазина и запишите туда [значения для переменных](#Переменные-среды). Обратите внимание, что для выгрузки скрипта на production сервер, нужно устанавливать переменные среды для вашего сервера, файл `.env` создавать не нужно.
|
- Далле необходимо настроить переменные среды. Создайте файл `.env` в корне вашего интернет-магазина и запишите туда [значения для переменных](#Переменные-среды). Обратите внимание, что для выгрузки скрипта на production сервер, нужно устанавливать переменные среды для вашего сервера, файл `.env` создавать не нужно.
|
||||||
- После этого, введите `npm run start` и перейдите по адресу `localhost:3000`, вы увидите уже рабочий интернет-магазин который запущен у вас на локальном компьютере.
|
- После этого, введите `npm run start` и перейдите по адресу `localhost:3000`, вы увидите уже рабочий интернет-магазин который запущен у вас на локальном компьютере.
|
||||||
|
|
||||||
### Запуск скрипта на удаленном сервере:
|
### Запуск скрипта на удаленном сервере:
|
||||||
В данном примере на удаленном сервере будет использоваться связка `Ubuntu 18.04, Nginx, MongoDB, PM2, NodeJS` + `SSL Lets Encrypt`
|
В данном примере на удаленном сервере будет использоваться связка `Ubuntu 18.04, Nginx, MongoDB, PM2, NodeJS` + `SSL Lets Encrypt`
|
||||||
|
|
||||||
- Переходим на сайт [RUVDS.COM](https://ruvds.com/pr4435) и приобретаем VPS услугу.
|
- Переходим на сайт [RUVDS.COM](https://ruvds.com/pr4435) и приобретаем услугу VPS-хостинга.
|
||||||
- Подключаемся к серверу по SSH и следуем далее описанным шагам.
|
- Подключаемся к серверу по SSH и следуем далее описанным шагам.
|
||||||
- Устанавливаем NodeJS:
|
- Устанавливаем NodeJS:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
|
apt-get update && apt-get install curl -y
|
||||||
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
|
||||||
apt-get install -y nodejs <--- попросит перезагрузить сервисы - соглашаемся (YES)
|
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||||
|
source ~/.bashrc
|
||||||
|
nvm install 12
|
||||||
```
|
```
|
||||||
Если при выполнении команд `node -v` и `npm -v` выдается версия, то идем дальше.
|
Если при выполнении команд `node -v` и `npm -v` выдается версия, то идем дальше.
|
||||||
- Создаем папку `/apps`, после переходим в нее и клонируем проект с github и переходим в наш магазин:
|
- Создаем папку `/apps`, после переходим в нее и клонируем проект с github и переходим в наш магазин:
|
||||||
@ -198,7 +201,7 @@ apt-get update
|
|||||||
|
|
||||||
apt-get install python-certbot-nginx
|
apt-get install python-certbot-nginx
|
||||||
|
|
||||||
certbot --nginx -d yourdomain.com -d www.yourdomain.com <--- в процессе установки выбираем цифру 2
|
certbot --nginx -d yourdomain.com <--- в процессе установки выбираем цифру 2
|
||||||
```
|
```
|
||||||
|
|
||||||
- Ваш конфигурационный файл должен выглядеть примерно так:
|
- Ваш конфигурационный файл должен выглядеть примерно так:
|
||||||
@ -256,7 +259,7 @@ server {
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Выгрузка скрипта на бесплатный хостинг от Heroku:
|
### Установка скрипта на бесплатный хостинг от Heroku:
|
||||||
- Регистрируемся на сайте [Heroku](https://signup.heroku.com/login).
|
- Регистрируемся на сайте [Heroku](https://signup.heroku.com/login).
|
||||||
- Устанавливаем heroku-cli `https://devcenter.heroku.com/articles/heroku-cli`.
|
- Устанавливаем heroku-cli `https://devcenter.heroku.com/articles/heroku-cli`.
|
||||||
- Проверьте установку, написав в консоле `heroku --help` если всё выводит, идем дальше.
|
- Проверьте установку, написав в консоле `heroku --help` если всё выводит, идем дальше.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user