Skip to content

makwerik/Accounts_drf_-A-SWISS-Group-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A_SWISS_GROUP Project

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

Это веб-приложение на Django с REST API для управления пользователями. Приложение реализовано с использованием Django и Django REST Framework (DRF). Для упрощения запуска проекта используется Docker.

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

  • Создание пользователя с валидацией полей в зависимости от заголовка x-Device.
  • Получение пользователя по ID.
  • Поиск пользователей по одному или нескольким полям: фамилия, имя, отчество, телефон, email.

Стек технологий

  • Python 3.10
  • Django
  • Django REST Framework
  • Docker
  • SQLite (Т.к условий не было, оставил по умолчанию)

Установка с Docker

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

git clone https://github.com/makwerik/Accounts_drf_-A-SWISS-Group-.git
cd A_SWISS_GROUP

2. Запуск контейнеров

docker-compose up --build

3. Применение миграций

Если миграции не были применены автоматически, выполните команду:
pip install -r requirements.txt

4. Применение миграций

docker-compose up -d
docker-compose exec web python manage.py migrate

4. Создание суперпользователя

Для доступа к админке Django выполните команду для создания суперпользователя:
docker-compose up -d
docker-compose exec web python manage.py createsuperuser

5. Запуск тестов

docker-compose up -d
docker-compose exec web python manage.py test

P.s (login:makwerik, password:12345)

Локальная установка без Docker

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

git clone https://github.com/makwerik/Accounts_drf_-A-SWISS-Group-.git
cd A_SWISS_GROUP

2. Создание и активация виртуального окружения

python -m venv venv
source venv/bin/activate  # для Windows: venv\Scripts\activate

3. Установка зависимостей

pip install -r requirements.txt

4. Применение миграций

python manage.py migrate

5. Запуск сервера разработки

python manage.py runserver

6. Запуск тестов

python manage.py test

Использование API

Создание пользователя

http://127.0.0.1:8000/api/users/ POST

В зависимости от заголовка x-Device, разные поля обязательны:

x-Device: mail - обязательные поля: first_name, email
x-Device: mobile - обязательные поля: phone_number
x-Device: web - обязательные поля: все поля, кроме email и residence_address

Получение пользователя по ID

``http://127.0.0.1:8000/api/get_user_id/`` GET

body = {"userid":"3"}

Поиск пользователей по критериям

Пример:

http://127.0.0.1:8000/api/search_user/?last_name=Верёвкин GET

Поддерживаемые параметры для поиска:

first_name
last_name
middle_name
phone_number
email

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors