Описание веб-приложения "Пишем истории вместе"

in #ru7 years ago

Цель работы: Разработать веб-приложение, предназначенное для написания литературных произведений. Каждое произведение может быть написано одним или несколькими пользователями приложения (произведение разбивается на несколько частей, каждый пользователь дополняет произведение своей частью). Также присутствует возможность чтения уже завершенных произведений.

Инфологическая модель базы данных, требуемой для работы разрабатываемого веб-приложения:

1.jpg

Даталогическая модель базы данных, требуемой для разрабатываемого веб-приложения:

2.jpg

Сущности:

  1. Пользователь – содержит информацию о пользователях;

• ID_Пользователь – уникальный идентификатор пользователя;

• ФИО – фамилия, имя и отчество пользователя;

• СтатусПользователя – online/offline;

• ТипПользователя – стандартный п-ль/модератор/администратор;

  1. Отрывок – содержит информацию об отрывках литературных произведений;

• ID_Отрывок – уникальный идентификатор отрывка;

• Произведение – произведение, к которому относится отрывок;

• Пользователь – пользователь, который является автором отрывка;

• ТекстОтрывка – текст отрывка;

  1. Произведение – содержит информацию о литературных произведениях;

• ID_Произведение – уникальный идентификатор произведения;

• Жанр – жанр произведения;

• Отрывок – отрывки, из которых состоит произведение;

• Название - название произведения;

• Статус – завершено/не завершено;

Назначение и описание логики работы веб-приложения, её связь с моделью БД:

Приложение предназначено для написания и чтения литературных произведений различных жанров. Пользователи могут дописывать произведения или читать уже написанные произведения. Каждое произведение разделяется на отрывки (от 1 до n отрывков в каждом произведении). Каждый отрывок имеет автора. Количество отрывков произведения увеличивается до тех пор, пока произведению не присваивается статус «завершено». Далее произведение будет доступно для чтения.

При добавлении нового отрывка происходит обновление таблицы «Отрывок» и «Произведение». В новой записи содержится текст отрывка и информация об авторе (UPDATE).

При создании нового произведения в таблицу «Произведение» добавляется новая запись, которая содержит информацию о жанре, названии и пр. (UPDATE).

После того, как пользователи решают, что произведение закончено, данные в таблице «Произведение» обновляются, а конкретному произведению присваивается статус «завершено»;

При необходимости администратор может удалять рядовых пользователей, при этом будет происходить удаление соответствующей записи из таблицы «Пользователи» (DELETE);

Модератор может удалять отрывки произведений или уже завершенные произведения. Возможно изменение информации о произведении. (DELETE/UPDATE);

Пользователи могут читать уже завершенные произведения (SELECT);

При регистрации происходит добавление новой записи в таблицу «Пользователь» (UPDATE).

Доступные возможности администратора и пользователя:

Стандартный пользователь:

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

Администратор:

Администратор отвечает за регистрацию новых стандартных пользователей и за их удаление из списка пользователей. Администратор не может воздействовать на литературные произведения.

Модератор:

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

Sort:  

Calling @originalworks :)
img credz: pixabay.com
Nice, you got a 8.0% @minnowbooster upgoat, thanks to @bob2017
Want a boost? Minnowbooster's got your back!

The @OriginalWorks bot has determined this post by @bob2017 to be original material and upvoted it!

ezgif.com-resize.gif

To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!
For more information, Click Here!
Special thanks to @reggaemuffin for being a supporter! Vote him as a witness to help make Steemit a better place!

Congratulations @bob2017! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You published your First Post
You got a First Vote

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @bob2017! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @bob2017! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @bob2017! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

@bob2017 you were flagged by a worthless gang of trolls, so, I gave you an upvote to counteract it! Enjoy!!

Congratulations @bob2017! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

The new SteemFest⁴ badge is ready
Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 62946.22
ETH 3453.83
USDT 1.00
SBD 2.50