Больше информации:
https://inverser.pro/200-sistema-upravleniya-tovarami-php
ПО:
PHP 7.2+ (PDO)
VueJS 2+
MySQL (MariaDB) 5.6+
Bootstrap 4
Date picker for pickadate.js v3.6.2
jQuery
Требование:
Желательно наличие HTTPS соединения. !! Запросы идут по fetch, а не по xmlHTTPRequest.
Есть небольшая защита от подделки запросов (постоянный токен).
Возможности:
Поддерживает добавление товаров. Выводит список имеющихся товаров в базе данных в виде таблицы на VueJS (с моментальным поиском по этой таблице).
Поддерживает разграничение, установленное программистом на добавление товара, просмотр оптовой цены. Две группы: администратор и продавец. Администратор видит все поля и может удалять/добавлять продавцов. Продавец НЕ видит оптовую цену, не может управлять пользователями.
Возможность добавлять поставщиков (только Администратор) и добавлять для каждого из них свою цену в каждом товаре.
ВНИМАНИЕ! Все запросы Вам необходимо перенаправлять на index.php.
Для Apache необходимо создать файл .htaccess
, размещённый в корне сайта (там, где все файлы из архива), со след. содержимым:
https://stackoverflow.com/questions/18406156/redirect-all-to-index-php-using-htaccess
СМ. apache_htaccess_example.zip
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]
Для NGINX необходимо в конфигурации сервера и/или Вашего сайта добавить следующий код или поискать альтернативу https://stackoverflow.com/questions/12924896/rewrite-all-requests-to-index-php-with-nginx
СМ. nginx_conf_example.zip
index index.php
location / {
set $page_to_view "/index.php";
try_files $uri $uri/ @rewrites;
root /var/www/site;
index index.php index.html index.htm;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/site$page_to_view;
}
# rewrites
location @rewrites {
if ($uri ~* ^/([a-z]+)$) {
set $page_to_view "/$1.php";
rewrite ^/([a-z]+)$ /$1.php last;
}
}
Логин по умолчанию:
Пароль:
1234567
-
Отображение ранее добавленных товаров в виде таблицы:
- ID.
- Имя (наименование).
- Цена.
- Цена оптовая.
- Количество.
- Информация (краткая заметка).
- Годен (до).
- Добавлен (дата).
- Добавил (ID администратора/продавца).
- Состояние (в наличии/нет в наличии).
-
При редактировании товара Администратором:
- Изменение всех вышеперечисленных данных.
- При обновлении товара автоматически срок годности увеличивает с выбранной даны + 3 месяца.
- Возможность добавлять поставщиков и отдельные цены для каждого поставщика (подгружается динамически).
- Возможность добавления дат продаж товара (сколько продали — настолько количество товара сократилось). Добавление продажи:\
- Дата.
- Количество.
- Комментарий.
-
Управление пользователями (только Администратор):
- Добавление и редактирование. Редактировать можно все, кроме логина (email), который должен быть уникальным для каждого нового пользователя.
-
Добавление поставщика (только Администратор).
- Название.
- Краткий комментарий.
- Действующий/не действующий.
- Скрипт должен корректно работать на web-хостинге, поддерживающем PHP v7.2 (возможно и ниже, но надо тестить).
- Версия MySQL (MariaDB) +- 5.6.34.
- Желательно, чтобы был подключен Apache (web-сервер), но в случае использования nginx, перенаправляйте все запросы на главную (index.php).
- Для начала скопируйте или скачайте архив, который прикреплен выше.
- Разархивируйте его.
- Вы увидите папку _TEST_DB_DELETE_AFTER_ADDED, в которой находится тестовая версия базы данных. Импортируйте её через PHPMyAdmin или иным способом в необходимую (новую) базу данных на своем хостинге.
- Обязательно удалите папку и её содержимое _TEST_DB_DELETE_AFTER_ADDED, если Вы закинули её на хостинг.
- Скопируйте в папку с Вашим доменом содержимое из архива (кроме вышеуказанной папки).
- Измените настройки подключения к базе данных в
файле
/loginme/loginmeInit.php
- А именно 12, 13, 14 строки:
define("L_DB_USER",'test_user');
define("L_DB_PASS",'PASSWORD');
define("L_DB_NAME",'test_name'); - При заходе по адресу Вашего сайта должна открыться панель
авторизации. Введите данные:
[email protected]
1234567 - Обязательно измените данные администратора https://your-site.com/users . Пароль должен быть от 7-ми символов.
- Для теста в базе данных находится 4 товара.