Skip to content

yury-yury/test_task_from_ganeeva_m_s

Repository files navigation

дедлайн пн 2.10 до 10:00 по Мск

Цель задания:

Создать простое Rest API для управления списком пользователей.

Требования:

Использовать Python. Использовать любой фреймворк для создания API (например, Flask, Express.js, Django). Создать эндпоинты для выполнения следующих операций:

  1. a. Получение списка всех пользователей.
    
  2. b. Получение информации о конкретном пользователе по его идентификатору.
    
  3. c. Добавление нового пользователя.
    
  4. d. Обновление информации о пользователе.
    
  5. e. Удаление пользователя по его идентификатору.
    

Для х данных о пользователях использовать реляционную или NoSQL базу данных (например, PostgreSQL, MongoDB). Предоставить документацию к API в формате Swagger или другом удобном для ознакомления виде.

Дополнительные требования (не обязательно):

  1. Реализовать авторизацию и аутентификацию пользователей.
  2. Добавить возможность сортировки и фильтрации списка пользователей.
  3. Написать автоматические тесты для API.

Ожидаемый результат:

Выполнение этого задания должно привести к созданию работающее API для управления списком пользователей, который успешно проходит основные функциональные тесты.


Запуск приложения.

Для запуска проекта на локальной машине необходимо выполнить следующее:

  1. Скачать проект из репозитория на локальный компьютер.
  2. В корневой директории проекта создать файл .env содержащий значения следующих переменных:
    • SECRET_KEY=django-insecure-t=-p3wfqkojy_^6x8vu)i+!apu874qf1i1e5nvdk*)-1=l8je(
    • Настройка доступа к базе данных СУБД PostgreSQL
      • DB_USER=...
      • DB_PASSWORD=...
      • DB_HOST=localhost
      • DB_PORT=5432
      • DJANGO_SETTINGS_MODULE=task_from_ganeeva.settings
  3. При необходимости создать и активировать виртуальное окружение проекта, выполнив команды в терминале:
$ python3 -m venv venv
$ source venv/bin/activate
  1. Установить зависимости проекта, выполнив команду в терминале:
$ pip install -r requirements.txt
  1. Установить сервер СУБД PostgreSQL. В СУБД PostgreSQL создать базу данных test_task_5.
  2. Применить миграции к базе данных, выполнив команду в терминале:
$ python3 manage.py migrate
  1. Запустить сервер Django выполнив команду в терминале:
$ python3 manage.py runserver
  1. Для получения доступа в панель администратора создать суперпользователя, выполнив команду в терминале:
$ python3 manage.py createsuperuser

Панель администратора доступна по URL адресу https://127.0.0.1:8000/admin/

В корневой директории проекта расположена коллекция запросов к API проекта, в файле Change Currencies.postman_collection.json

Releases

No releases published

Packages

No packages published

Languages