Модуль
Завдання на диплом:
Основні моменти
-
Робимо окремий проект у GitHub, він повинен запускатися і працювати, для розробки використовувати CBV
-
Усі варіанти передбачають login, logout, реєстрацію.
-
У всіх варіантах, звичайний user, не admin, повинен бути автоматично розлогінений через 1 хвилину після останньої дії, що потрапила на сервер (через REST інвалідувати токен)
-
На всі дії будь-якого з варіантів потрібно реалізувати REST API теж (в будь-який момент можна переключитися на REST і наступну дію виконуємо через Postman, і навпаки, а тепер зайnи на сайт і продовжити)
-
Основний акцент на back-end
-
Тести не обовʼязково, але дуже вітаються і додають бали на захисті
-
Обираємо один варіант
1 Варіант
Сайт кінотеатру
Ціль:
Створити веб-сайт для кінотеатру, який надасть користувачам можливість отримати інформацію про розклад сеансів і придбати квитки онлайн.
Дії:
Admin:
-
Може створювати зал кінотеатру, в якому він повинен вказати ім’я залу, розмір залу
-
Може створювати сеанси, у яких вказується час початку, час закінчення, і дати показу (з 5 лютого по 15 лютого 2021 року, наприклад), ціну квитка на сеанс.
-
Може змінювати зал або сеанс, якщо не було куплено жодного квитка в цей зал або на цей сеанс.
-
Сеанси в одному залі не можуть накладатися один на одного.
User:
-
Може переглянути список сеансів на сьогодні та в окремій вкладці на завтра, кількість вільних місць у залі.
-
Може купити квиток\квитки на сеанс; якщо в залі закінчилися місця, повинен отримати відповідне повідомлення.
-
Може переглянути список здійснених ним покупок, і загальну витрачену суму за весь час.
Сеанси можна сортувати за ціною або часом початку.
Не залогінений user бачить список, може його впорядкувати, не може нічого купити.
REST
-Додатково додати можливість отримання інформації про всі сеанси на сьогодні, які починаються в певний проміжок часу і\або йдуть у конкретному залі.
2 Варіант
Task Dashboard (дошка завдань)
Ціль:
Створити сайт, на якому можна створити “картку” з різним статусом.
Прототипом є Trello (тільки набагато легше)
Реалізація
Кожна картка повинна мати 5 статусів (вертикальні колонки):
- New
- In progress
- In QA
- Ready
- 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 Захист