Приложение генерирующее промокоды.
Разделы
Написать генератор промо кодов и их проверку с помощью Django. Команда должна генерировать коды по выделенным группам, группой может быть номер или строка и сохранять результат в json файл из которого потом можно будет проверить код. Код должен быть уникальным из любого набора символов.
- Создать команду, которая будет принимать два аргумента:
amount
,group
. Результатом выполнения должен стать json файл в котором будут коды сгруппированы по группам. - Промо код должен быть уникальным и не повторяться в остальных уже созданных группах.
- Файл с кодами не должен перезаписываться, а должен добавлять в существующий файл новые коды и группы.
Для запуска приложения, у вас должен быть установлен python,
- Перейдите в директорию, куда хотите установить приложение:
cd ПУТЬ К ФАЙЛУ
- Скачайте или клонируйте репозиторий:
git clone https://github.com/who-man-tech/PromoCodeAdmin.git
- Перейдите в папку с приложением: cd PromoCodeAdmin
- Установите все пакеты:
pip install -r requirements.txt
Чтобы получить доступ к командам необходимо перейти в директорию app/
:
cd app
Для запуска любой команды приложения, необходимо вводить следующую последовательность:
python manage.py КОМАНДА
где КОМАНДА
- одна из команд приведенных ниже.
Команда, которая генерирует новые уникальные промо кодыи сохраняет их в файл. В консоле будут указаны новые промокоды.
gen_codes -a КОЛИЧЕСТВО ПРОМО КОДОВ -g НАЗВАНИЕ ГРУППЫ -p ПУТЬ К ФАЙЛУ -r ФЛАГ ПЕРЕСОДАНИЯ ФАЙЛА
-a
или--amount
- количество промо кодов(число).-g
или--group
- название группы создаваемых промо кодов(строка или число).-p
или--path
- путь к файлу, в котором будут храниться промо коды. Должен быть указан файл в формате json(строка).-r
или--recreate
- если этот параметр указан, то перед созданием новых промо кодов, содержимое файла очиститься.
python manage.py gen_codes -a 10 -g "avtostop" -p "data/codes.json" -r
Команда, которая выводит название группы, которой принадлежит код.
get_code_group -c ПРОМО КОД -p ПУТЬ К ФАЙЛУ
-с
или--code
- промо код, группу которого нужно найти(строка).-p
или--path
- путь к файлу, в котором находятся промо коды. Должен быть указан файл в формате json(строка).
python manage.py get_code_group -c "UirmGt" -p "data/codes.json"
Команда, которая выводит количество групп и кодов в файле с промо кодами.
get_file_info -p ПУТЬ К ФАЙЛУ
-p
или--path
- путь к файлу, в котором будут искаться промо код и его группа. Должен быть указан файл в формате json(строка).
python manage.py get_file_info -p "data/codes.json"
Команда, которая выводит промо коды указанной группы.
get_group_codes -g НАЗВАНИЕ ГРУППЫ -p ПУТЬ К ФАЙЛУ
-g
или--group
- название группы, коды которой нужно вывести(строка или число).-p
или--path
- путь к файлу, в котором будут искаться промо код и его группа. Должен быть указан файл в формате json(строка).
python manage.py get_group_codes -g "avtostop" -p "data/codes.json"
Команда, которая удаляет указанный файл с промо кодами.
rm_file -p ПУТЬ К ФАЙЛУ
-p
или--path
- путь к файлу, который нужно удалить. Должен быть указан файл в формате json(строка).
python manage.py rm_file -p "data/codes.json"
Все тесты находятся в директории app/promo_code/tests/
cd app/promo_code/tests/
Для запуска тестов необходимо ввести следующую команду:
python manage.py test promo_code.tests
- Проверка выполнения команды генерации новых промо кодов(
gen_codes
). - Проверка выполнения команды нахождения группы по указанному коду(
get_code_group
).