Проект представляет собой систему подтверждения изменения настроек пользователя через различные каналы (SMS, Email, Telegram). Система разработана с использованием фреймворка Laravel и Laravel Sail для облегчения развертывания и управления приложениями.
Разработка backend-системы для управления настройками пользователя с подтверждением изменений через SMS, Email или Telegram. Пользователи могут выбирать метод подтверждения при попытке изменения настройки. Каждое изменение требует ввода кода, полученного пользователем через выбранный канал.
Документ с подробным описанием алгоритма "Техническое задание OOO QUICKPAY - Решение от Саидова Сардора Азаматовича.docx" доступен в репозитории. Пожалуйста, смотрите файл для детального понимания логики работы системы.
- Изменение настройки пользователем.
- Отправка кода подтверждения через выбранный метод.
- Подтверждение изменения настройки с использованием полученного кода.
https://documenter.getpostman.com/view/34536463/2sA3Bt2pJd#2b0e88f1-bcc0-4a22-8341-5d9e77e1d785
Для работы с проектом вам понадобятся:
- Docker
- Docker Compose
-
Клонирование репозитория
git clone https://your-repository-url.git cd your-project-directory
-
Запуск с помощью Laravel Sail
Laravel Sail — это легкая командная оболочка для взаимодействия с Docker. Перед запуском убедитесь, что у вас установлены Docker и Docker Compose.
# Запуск Docker контейнеров ./vendor/bin/sail up # Установка зависимостей ./vendor/bin/sail composer install # Миграция базы данных ./vendor/bin/sail artisan migrate # Заполнение базы данных начальными данными ./vendor/bin/sail artisan db:seed
Для тестирования API вы можете использовать Postman или любой другой HTTP клиент.
-
Регистрация пользователя: POST
/v1/register
{ "name": "Sardor Saidov", "email": "[email protected]", "password": "password123" }
-
Авторизация пользователя: POST
/v1/login
{ "email": "[email protected]", "password": "password123" }
-
Изменение настройки: POST
/v1/settings/change
{ "key": "notification", "value": "enabled", "method": "email" }
-
Подтверждение изменения настройки: POST
/v1/settings/confirm
{ "code": "123456" }