Модуль

Завдання на диплом:

Основні моменти

  1. Робимо окремий проект у GitHub, він повинен запускатися і працювати, для розробки використовувати CBV

  2. Усі варіанти передбачають login, logout, реєстрацію.

  3. У всіх варіантах, звичайний user, не admin, повинен бути автоматично розлогінений через 1 хвилину після останньої дії, що потрапила на сервер (через REST інвалідувати токен)

  4. На всі дії будь-якого з варіантів потрібно реалізувати REST API теж (в будь-який момент можна переключитися на REST і наступну дію виконуємо через Postman, і навпаки, а тепер зайnи на сайт і продовжити)

  5. Основний акцент на back-end

  6. Тести не обовʼязково, але дуже вітаються і додають бали на захисті

  7. Обираємо один варіант

1 Варіант

Сайт кінотеатру


Ціль:
Створити веб-сайт для кінотеатру, який надасть користувачам можливість отримати інформацію про розклад сеансів і придбати квитки онлайн.

Дії:

Admin:

  • Може створювати зал кінотеатру, в якому він повинен вказати ім’я залу, розмір залу

  • Може створювати сеанси, у яких вказується час початку, час закінчення, і дати показу (з 5 лютого по 15 лютого 2021 року, наприклад), ціну квитка на сеанс.

  • Може змінювати зал або сеанс, якщо не було куплено жодного квитка в цей зал або на цей сеанс.

  • Сеанси в одному залі не можуть накладатися один на одного.

User:

  • Може переглянути список сеансів на сьогодні та в окремій вкладці на завтра, кількість вільних місць у залі.

  • Може купити квиток\квитки на сеанс; якщо в залі закінчилися місця, повинен отримати відповідне повідомлення.

  • Може переглянути список здійснених ним покупок, і загальну витрачену суму за весь час.

Сеанси можна сортувати за ціною або часом початку.

Не залогінений user бачить список, може його впорядкувати, не може нічого купити.

REST
-Додатково додати можливість отримання інформації про всі сеанси на сьогодні, які починаються в певний проміжок часу і\або йдуть у конкретному залі.

2 Варіант

Task Dashboard (дошка завдань)


Ціль:
Створити сайт, на якому можна створити “картку” з різним статусом.
Прототипом є Trello (тільки набагато легше)

Реалізація
Кожна картка повинна мати 5 статусів (вертикальні колонки):

  1. New
  2. In progress
  3. In QA
  4. Ready
  5. Done

User:

  • Користувач може створити нову картку, яка автоматично буде створена зі статусом New. У картці має зберігатися якийсь текст

  • У картки є “творець” і “виконавець”, виконавця від початку не задано, творець може вказати виконавцем тільки себе. Адмін може вказати виконавцем будь-якого користувача.

  • Користувач може “рухати” картку тільки якщо він “виконавець” і тільки на один статус вліво або вправо (Стрілки додайте, на new стрілки вліво бути не повинно. на Ready вправо), на статус Done користувач пересунути картку не може.

  • Користувач може змінювати текст на створених ним картках.

Admin:

  • Адмін може рухати будь-яку картку, але тільки зі статусу Ready у статус Done або навпаки.

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

Не залогінений користувач повинен бачити тільки напис “Ви не авторизовані”.

REST
Додати можливість отримання карток конкретного статусу (наприклад In QA), з інформацією про творця, виконавця, і датою останньої зміни (чого завгодно, тексту, статусу, виконавця).

3 Варіант

Helpdesk (Служба технічної підтримки)

Help desk - це інструмент для автоматизації технічної підтримки.

Ціль:
Створити систему заявок.

Реалізація

User

  • Може створити заявку, з різним ступенем важливості (Low, Medium, High), темою, і текстом її опису.
  • Користувач може поміняти текст і\або статус заявки.
  • Користувач може переглядати тільки свої заявки, причому всі, підтверджені, відхилені (з коментарем адміна) і в процесі.

Admin:

  • Адмін бачить список усіх “активних” заявок і може підтвердити або відхилити заявку, у разі відхилення заявки адмін має вказати причину відхилення.

  • Біля відхилених має бути кнопка відновити заявку, після якої у користувача заявка зникає, а в адміна з’являється в окремому списку “на відновлення”, де теж є дві кнопки підтвердити і відхилити.

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

  • Під заявками з іншим статусом мають бути відображені всі коментарі, без можливості їх додавання.

Не залогінений користувач повинен бачити тільки напис “Ви не авторизовані”.

REST

  • Додати можливість отримання всіх заявок з певною важливістю.

4 Варіант

Система Керування Бібліотекою

5 Варіант

Сайт Анонімних Дарульвальників

План роботи

Можна швидше, повільніше не рекомендую:

  • Через 2 заняття мають бути готові моделі, login, logout та реєстрація.
  • Через 4 заняття вся логіка, без ресту.
  • Через 6 у вас захист дипломів:)
  • 12.09.2024 Захист