Разпечатай това Страница

Задание за състезанието по програмиране (2016)

Социален спам

Социален спам

Конкурсна задача на ДАВИД академия

Въведение

Настоящият документ описва основите на система за управление на социална мрежа с възможност за изпращане, препращане и оценка на съобщения.

Функционално описание

Социалната мрежа е изградена от равноправни потребители.

Потребители

Социалната мрежа е изградена от равноправни потребители.

  • Потребителите се регистрират с уникален имейл и парола.
  • Потребителите се характеризират с:
    • Имейл – задължително за попълва по време на регистрация
    • Парола – задължително се попълва по време на регистрация
    • Имена – задължително се попълва по време на регистрация
    • Пол – по желание
    • Дата на раждане – по желание
    • Снимка/Аватар – по желание
  • Всеки потребител има своя профилна страница, на която могат да се видят гореспоменатите данни и неговата текуща оценка.
Контакти

Потребителите в социалната мрежа са свързани посредством контакти.

  • Контакт между два потребителя може да се инициира от единия от тях и се потвърждава или отхвърля от другия.
  • Контакт между два потребителя може да се прекрати по инициатива на единия от тях и няма нужда да се отхвърля от другия.
Съобщения

Потребителите могат да си изпращат и препращат съобщения от различни категории.

  • Съобщенията се характеризират с:
    • Дата/час – автоматично генерирано
    • Автор – потребител създал съобщението
    • Заглавие – задължителен текст между 8 и 64 символа
    • Текст – задължителен текст между 16 и 65536 символа
  • Потребител може да създава съобщение и да го изпрати на един или повече от своите контакти.
  • Потребител може да препраща получено съобщение на един или повече от своите контакти.
  • Съобщение в системата се съхранява само веднъж, независимо дали е препращано или не.
  • Потребител разполага с кутия със съобщения съдържаща папки:
    • „Моите съобщения“ – съобщенията, които потребителят е създал
    • „Получени съобщения“ – съобщенията, които потребителят е получил и/или препратил
  • Създадените от потребител съобщения автоматично се записват в неговата папка „Моите съобщения“.
  • Получените от потребител съобщения автоматично се записват в неговата папка „Получени съобщения“.
  • Потребител не може да вижда автора на получено съобщение, както и от кого е било препратено.
Оценки

Потребителите в системата могат да оценяват получените от тях съобщения.

  • Потребител може да оценява получено от него съобщение положително (👍), отрицателно (👎) или спам.
  • Потребител не може да оценява създадено от него съобщение.
  • Потребител може да оценява получено от него съобщение само веднъж.
  • Потребител може да вижда сумарния брой положителни и отрицателни оценки.
  • Потребител не може да вижда кой, кога и каква оценка е дал на дадено съобщение.
Класации

Системата поддържа следните класации, според оценките дадени от потребителите.

  • Видовете класации биват:
    • Най-добро съобщение – съобщенията събрали най-висока оценка
    • Най-добър автор – авторите, чиито съобщения са събрали най-висока оценка
  • Класациите се строят по дата/час на дадената оценка.
  • Класациите се строят за следните периоди:
    • за последния 1 ден
    • за последните 7 дни
    • за последните 30 дни

Технически изисквания

  • Системата трябва да е разработена в средата на Microsoft Visual Studio;
  • Системата трябва да бъде уеб базирана
  • Системата трябва да се достъпва през browser (Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Opera и др.);
  • За съдържание на страниците системата трябва да генерирана валидни HTML 5 документи;
  • За оформление на страниците системата трябва да генерира валидни отделни CSS стилове, по възможност в отделни файлове (може да се използва Bootstrap);
  • За поведението на страниците системата трябва да генерира валидни JavaScript скриптове, по възможност в отделни файлове (може да се използва jQuery);
  • Системата трябва да има консистентен дизайн;
  • Проектът трябва да включва скриптове за създаване на базата данни и първоначално зареждане с данни;
  • Проектът трябва да съдържа “md”, който да съдържа като минимум кратка информация за проекта и автора му, както и особености за нейното конфигуриране и стартиране.
  • Преизползване на код:
    • Могат да се използват готови шаблони от Visual Studio
    • Могат да се използват готови визуални компоненти

Постоянен линк към тази тема: http://acad.david.bg/sustezaniya/2016-sustezanie-po-programirane/zadanie/