Skip to content

sardorjs/technical-task-by-quickpay-company

Repository files navigation

User Settings Confirmation System

Описание проекта

Проект представляет собой систему подтверждения изменения настроек пользователя через различные каналы (SMS, Email, Telegram). Система разработана с использованием фреймворка Laravel и Laravel Sail для облегчения развертывания и управления приложениями.

Техническое задание

Разработка backend-системы для управления настройками пользователя с подтверждением изменений через SMS, Email или Telegram. Пользователи могут выбирать метод подтверждения при попытке изменения настройки. Каждое изменение требует ввода кода, полученного пользователем через выбранный канал.

Описание алгоритма

Документ с подробным описанием алгоритма "Техническое задание OOO QUICKPAY - Решение от Саидова Сардора Азаматовича.docx" доступен в репозитории. Пожалуйста, смотрите файл для детального понимания логики работы системы.

Функциональность:

  1. Изменение настройки пользователем.
  2. Отправка кода подтверждения через выбранный метод.
  3. Подтверждение изменения настройки с использованием полученного кода.

Postman Документация

https://documenter.getpostman.com/view/34536463/2sA3Bt2pJd#2b0e88f1-bcc0-4a22-8341-5d9e77e1d785

Начало работы

Предварительные требования

Для работы с проектом вам понадобятся:

  • Docker
  • Docker Compose

Установка и запуск

  1. Клонирование репозитория

    git clone https://your-repository-url.git
    cd your-project-directory
  2. Запуск с помощью 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

Для тестирования 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"
    }

About

Техническое задание OOO QUICKPAY - на роль Backend PHP разработчика

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •