Code Monkey home page Code Monkey logo

artlebedb-test-task's Introduction

Создатель: Васильев Кирилл Александрович

Запуск

  1. Скачать файлы данного репозитория
  2. В терминале выполнить следующие команды
docker-compose build;
docker-compose up

Использование: Все запросы должны производится по адресу: http://0.0.0.0:8000/library Вся информация предоставляется в json формате. Пример ответа:

{
    "id": 1,
    "contacts": {
        "id": 1,
        "email": "[[email protected]](mailto:[email protected])",
        "phone": "73834022069"
    },
    "coordinates": {
        "id": 1,
        "posx": "83.99537200",
        "posy": "54.96136700"
    },
    "timezone": "Asia/Krasnoyarsk",
    "name": "Владимировская сельская библиотека",
    "description": "<p>Сельская библиотека с. Владимировка основана в <span>1956 году.</span></p><p><span></span><span> Она располагает книжным фондом в количестве 5 709 экземпляров. Книговыдача составляет 10 000 экземпляров. Постоянными читателями являются 505 жителей села. Посещения составляют 10 000 человек. </span></p><p><span>В библиотеке действует детский клуб по интересам «Фантазия». Работа клуба направлена на повышение культуры чтения исторической, научной, художественной и технико-технической литературы. Библиотека проводит значительную работу по привлечению детей к чтению по различным направлениям. Успешно сотрудничает с сельской школой и клубом, проводя мероприятия совместно и помогая информационно. </span></p> <p></p>",
    "fullAdress": "обл Новосибирская,р-н Тогучинский,с Владимировка,ул Центральная,зд 50"
}```

Для того чтобы получить библиотеку по id нужно обратится по адресу
http://0.0.0.0:8000/library/{id}
Например чтобы получить информацию о библиотеке с id 12 запрос будет таким:
http://0.0.0.0:8000/library/12

Чтобы найти библиотеку следует использовать параметр search. Поиск производится по имене и адресу библиотеки. Например чтобы найти библиотеку с именем lab запрос должен быть таким
http://0.0.0.0:8000/library/?search=lab

Для фильтрации запроса следует использовать следующий синтаксис {поле}={значение}
где поле это поле по которому будет использоватся фильтрация, а значение, это требуемое значение.
Возможные поля:
name: Название библиотеки
fullAdress: Адрес библиотеки
timezone: Часовой пояс библиотеки

## Информация для разработчика
Все переменные среды хранятся в файле .env
Чтобы запустить продакшн сервере обязательно нужно указать DEBUG=0 в файле .env

Чтобы запустить сервер на ином ip-адресе или хосте следует добавить ip-адрес или хост в список ALLLOWED_HOSTS  в файле backend/backend/settings.py. [Подробнее](https://docs.djangoproject.com/en/4.2/ref/settings/#std:setting-ALLOWED_HOSTS)

Обязательно следует поменять переменную SECRET_KEY в .env сгенерировав новый ключ безопасности при помощи
```Python
from django.core.management.utils import get_random_secret_key  
get_random_secret_key()

От себя

Я знаю что у этого проекта проблемы с безопасностью (например в открытом доступе хранится django secret key или пароли базы данных ) но иначе пользователю придется много чего переделать своими руками, и вообще в таких случаях целесообразней использовать приватные репозитории.

artlebedb-test-task's People

Contributors

patrickthesu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.