Skip to content

Платформа для быстрого оформления списков литературы и поиска источников для научных и учебных работ.

Notifications You must be signed in to change notification settings

Alice8080/mybibliography.ru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Bibliography

mybibliography.ru – сайт для поиска источников для научных и учебных работ и оформления ссылок на источники по ГОСТ. Цель проекта — сделать поиск информации простым и эффективным, а работу с источниками — доступной и удобной.

My Bibliography

Технологии

Frontend:

Использованные библиотеки и пакеты

Backend:

Использованные библиотеки и пакеты

  • Django REST framework – создание API для взаимодействия фронтенда на React с бэкэндом на Django.
  • django-remote-forms – сериализация форм Django для преобразования в JSON и предоставления доступа через API для рендеринга форм на клиенте.
  • Jinja2 – шаблонизация схем библиографических описаний.
  • yookassa – создание объекта платежа при формировании заказа списка литературы.

Описание функционала

Оформление ссылок

Через сайт можно оформлять ссылки на книги, статьи, сайты и другие источники. Все ссылки оформляются по ГОСТ Р 7.0.100–2018 «Библиографическая запись. Библиографическое описание. Общие требования и правила составления». Этот ГОСТ является обязательным к использованию при составлении списков литературы к курсовым работам, дипломам, докладам и другим работам.

Логика составления библиографических описаний описана в файле abstract_models.py.

Полный список типов документов, на которые можно оформить ссылку.

Список типов документов

Оформленные пользователем ссылки добавляются в список литературы

Список можно скопировать, загрузить в формате .docx, дополнить новыми ссылками, а также сортировать ссылки в нем по алфавиту или времени добавления. Чтобы начать работу с новым списком, предыдущий нужно очистить. Все созданные списки можно посмотреть в личном кабинете.

Список литературы

Поиск источников

Когда база данных оформленных ссылок превысила 100 000, в проект добавилась функция поиска по ней. Поиск проводится по ключевым словам запроса, исключая предлоги, союзы, междометия. Так как по некоторым запросам результатов может быть очень много, в целях оптимизации рендеринга найденные библиографические ссылки выводятся по 100 за раз с возможностью подгрузки оставшихся до тех пор, пока все результаты по поисковому запросу не будут загружены целиком.

Воспользоваться функцией поиска можно на главной странице сайта, либо на странице поиска

Поиск

Списки литературы на заказ

Для приема платежей реализована интеграция сайта с платёжным провайдером ЮKassa. Интеграция была проведена с использованием API ЮKassa. Для валидации данных формы заказа на стороне клиента использованы Formik и Yup.

Форма для ввода данных о заказе

Форма для ввода данных о заказе

Аутентификация пользователей

Для аутентификации используются сессии Django. Данные сеанса пользователя хранятся на стороне сервера, а файлы cookie содержат session ID для авторизации на клиенте.

Личный кабинет

В Личном кабинете пользователь может посмотреть все созданные им списки литературы и скопировать их; посмотреть свои последние 50 поисковых запросов и вернуться к поиску по любому из них; посмотреть информацию о созданных им заказах – введенные данные, статус, срок выполнения.

Личный кабинет

Статистика сайта

На странице О сайте представлена статистика количества оформленных ссылок и поисковых запросов, реализованных через сайт, в реальном времени. Компоненты диаграмм созданы с помощью библиотеки Chart.js.

Круговая диаграмма

Столбчатая диаграмма

Дополнительно

Доступность

Все элементы сайта доступны через управление с клавиатуры. Используйте Tab для передвижения по элементам и Shift+Tab для обратного передвижения. В разработке сайта использована семантическая верстка.

About

Платформа для быстрого оформления списков литературы и поиска источников для научных и учебных работ.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published