Skip to content

Betwist/BooksLibrary

Repository files navigation

BooksLibrary

Это приложение Django позволяет управлять книгами в библиотеке. Он предоставляет REST API для выполнения различных операций с книгами и регистрации пользователей.

Содержание:

  • Начало работы
  • Предварительные требования
  • Установка
  • Использование
  • Развертывание с использованием Docker
  • API-эндпоинты

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

Убедитесь, что на вашем компьютере установлены следующие компоненты:
  • Python (3.x)
  • Docker
  • Docker Compose

Установка

  • Клонируйте репозиторий и перейдите в папку с проектом:
git clone https://github.com/Betwist/BooksLibrary.git
cd BooksLibrary 
  • Создайте в корневой папке проекта файф .env, который будет содержать:
NAME_DB = Ваше название mysql бд
USER_DB = Ваше имя пользователя в mysql бд
PASSWORD_DB = Ваш пароль в mysql бд
EMAIL_HOST_USER = Почта с которой будет отправляться привественное письмо
EMAIL_HOST_PASSWORD = Пароль от почты с которой будет отправляться привественное письмо
ROOT_PASSWORD_DB = Пароль к бд с повышенными правами
EMAIL_HOST = Исходящий сервер почтового сервиса, подробнее можно узнать в поддержке вашего почтового провайдера
EMAIL_PORT = Порт вашего почтового сервиса, подробнее можно узнать в поддержке вашего почтового провайдера
EMAIL_USE_TLS = Тип шифрования, может быть False или True, подробнее о типе шифрования можно узнать в поддержке вашего почтового провайдера
EMAIL_USE_SSL = Тип шифрования, может быть False или True, подробнее о типе шифрования можно узнать в поддержке вашего почтового провайдера
SECRET_KEY = Ваш Django SECRET_KEY, данный ключ распологается в файле settings.py
Для того чтобы сгенерировать личный SECRET_KEY вы можете воспользоваться следующим кодом:
    import random
    import string

    def generate_secret_key():
        characters = string.ascii_letters + string.digits + string.punctuation
        secret_key = ''.join(random.choice(characters) for i in range(50))
        return secret_key

    print(generate_secret_key())

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

Развертывание с использованием Docker

  • Соберите и запустите контейнеры:
docker-compose up --build

API-эндпоинты

GET /api/books/: Получить список всех книг.
GET /api/books/{id}/: Получить информацию о конкретной книге.
POST /api/books/: Создать новую книгу.
    В теле запроса нужно указать JSON-данные о книге в следующем виде: 
        {
        "title": "Название книги",
        "author": "Автор",
        "publication_year": "Год публикации",
        "isbn": "ISBN код"
        } 
PUT /api/books/{id}/: Обновить информацию о книге.
    В теле запроса нужно указать измененные JSON-данные о книге в следующем виде: 
        {
        "title": "Название книги",
        "author": "Автор",
        "publication_year": "Год публикации",
        "isbn": "ISBN код"
        } 
DELETE /api/books/{id}/: Удалить книгу.
POST /api/users/register/: Зарегистрировать нового пользователя.
    В теле запроса нужно указать JSON-данные о пользователе в следующем виде:
        {
    "username" : "Имя пользователя",
    "email" : "Электронная почта пользователя"
        }

About

Тестовое задание для likesoft

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors