Giter Site home page Giter Site logo

fanfiction_server's Introduction

УСЛОВИЕ КУРСОВОГО ПРОЕКТА


Требуется разработать сайт для фанфиков ("Мордор — техногенная цивилизация, опороченная победителями").

  • Неаутентифицированным пользователи могут только читать произведения (доступен поиск, недоступно создание произведений, комментарии, лайки и рейтинги).

  • Аутентифицированные пользователи имеют доступ ко всему, кроме админки.

  • Админка позволяет управлять пользоователями (просматривать, блокировать, удалять, назначать админами). Администратор видит каждую страницу пользователя и каждое произведение как автор (например, может редактировать или

  • создать от имени пользователя с его страницы новое произведение).

  • Требуется поддерживать регистрацию с отправкой мыла с подтверждением (до подтверждения доступа нет), аутентификация через сайт.

  • На каждой странице доступен полнотекстовый поиск по сайту (результаты поиска — всегда произведения, например, если текст найден в комментарии к произведению, что должно быть возможно, то выводится ссылка на произведение).

  • У каждого пользователя есть его личная страница, на которой он управляет списком своих произведений (таблица с фильтраций и сортировками, возможность создать/удалить/редактировать произведение/открыть в режиме чтения), поля с информаций о пользователе (in-place editing)

  • Каждое произведение состоит из: название, краткое описание, жанр (из фиксированного набора жанров, например, "Фантастика", "Эротика" и проч.), тэги (вводится несколько тэгов, необходимо автодополнение - когда пользователь начинает вводить тэг, выпадает список с вариантами слов, которые уже вводились ранее на сайте). Помимо этого, произведение состоит из "глав" - название главы, блок текста с поддержкой форматирования markdown и одной опциональной картинкой. Глава автомагически формируют оглавление с автонумерацией и набор элементов управления для перехода по главам. На странице произведения главы можно добавлять/удалять/открывать на редактирование/изменять порядок (автомагическая перенумерация).

  • Все картинки сохраняются в облаке, все картинки загружаются драг-н-дропом.

  • На главной странице отображаются: последние обновленные произведения, произведения с самыми большими рейтингами, облако тэгов.

  • При открытии произведения в режиме чтения в конце отображаются комментарии (общие на всю произведение, не отдельно по главам). Комментарии линейные, нельзя комментировать комментариий, новый добавляется только "в хвост". Необходимо реализовать автоматическую подгрузку комментариев — если у меня открыта страница с комментариями и кто-то другой добавляет новый, он у меня автомагически появляется (возможна задержка в 2-5 секунд).

  • Каждый пользовать может проставить "рейтинг" (от 1 до 5 звездочек) произведения (не более одного от одного пользователя на произведение) — средний рейтинг отображется у произведения.

  • У каждой главы (в конце главы в режиме чтения) пользователь может поставить лайк (не более одного на одну главу от одного пользователя).

  • Сайт должен поддерживать два языка: русский и английский (пользователь выбирает и выбор сохраняется). Сайт должен поддерживать два оформления (темы): светлое и темное (пользователь выбирает и выбор сохраняется).

  • Обязательно: Bootstrap (или любой другой CSS-фреймворк), адаптивная вёрстка, поддержка разных разрешений (в том числе телефон), ORM для доступа к данным, движок для полнотекстового поиск (или средствами базы, или отдельный движок — НЕ ПОЛНОЕ СКАНИРОВАНИЕ селектами).

fanfiction_server's People

Contributors

aliakseilasevich avatar

Watchers

James Cloos avatar  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.