Решение на Време е да помислите за проектите си! от Харут Партамиан

Обратно към всички решения

Към профила на Харут Партамиан

Резултати

  • 7 точки от тестове
  • 0 бонус точки
  • 7 точки общо
  • 0 успешни тест(а)
  • 0 неуспешни тест(а)

Код

"""
[Title/Звание]
Лесно-четими резултати от Exit-Poll
[Description/Обрисовка]
Web апликация, която да показва нагледно настоящите данни в конкретен час, за резултати от анкети, провеждащи се между хора излизащи от изборни секции. Идеята ми е да направя конкретния въпросник(не съм сигурен с точно колко въпроса ще го имплементирам, но ще са поне 8, сидейки по това което помня за exit poll-a, който съм попълвал :Д) в онлайн вариант и да имам страница със статистика, която да се обновява спрямо всяка въведена анкета/въпросник.
[Functionalities/Надарености]
Работникът, който провежда exit-poll влиза в акаунта си(мисля да го направя без регистрация, а да има предварителен username и password за всеки работник, чрез които директно да се логва).
Въвежда данните от всяка конкретна анкета по отделно, цъка "изпрати" бутон и му излиза празна анкета за ново попълване и т.н.
След цъкане на изпрати, информацията от анкетата се изпраща през HTTPS до API-a.
Информацията от всяка анкета се запазва база в съответни таблици(идеята да използвам база е за да има реално доказателсвто за проверка на достоверност на анкетата, а не просто всяка анкета да увеличава някакви броячи със стойности, без да се запазва)
Приложението генерира статистика и я изкарва на отделна станица на сайта.
[Milestones/Възлови точки]
Създаване на логин страница.
Създаване на потребител като обект.
Създаване на анкета като обект.
Създаване на модел на базата.
Записване на информация от анкета в базата.
Генериране на картинка за статистика и пращането и към страница на приложението.
[Estimate in man-hours/Времеоценка в човекочасове]
Не съм убеден колко ще излезе като време, но не мисля че ще е по-малко от 50-60 часа сумарно.
[Usage of technologies/Потребление на технологии]
Django
Matplotlip - за графики с картинки от статистиката
SQLAlchemy - за базичката
"""

История (1 версия и 5 коментара)

Харут обнови решението на 10.12.2022 21:10 (преди над 1 година)

+"""
+[Title/Звание]
+Лесно-четими резултати от Exit-Poll
+
+[Description/Обрисовка]
+Web апликация, която да показва нагледно настоящите данни в конкретен час, за резултати от анкети, провеждащи се между хора излизащи от изборни секции. Идеята ми е да направя конкретния въпросник(не съм сигурен с точно колко въпроса ще го имплементирам, но ще са поне 8, сидейки по това което помня за exit poll-a, който съм попълвал :Д) в онлайн вариант и да имам страница със статистика, която да се обновява спрямо всяка въведена анкета/въпросник.
+
+[Functionalities/Надарености]
+Работникът, който провежда exit-poll влиза в акаунта си(мисля да го направя без регистрация, а да има предварителен username и password за всеки работник, чрез които директно да се логва).
+Въвежда данните от всяка конкретна анкета по отделно, цъка "изпрати" бутон и му излиза празна анкета за ново попълване и т.н.
+След цъкане на изпрати, информацията от анкетата се изпраща през HTTPS до API-a.
+Информацията от всяка анкета се запазва база в съответни таблици(идеята да използвам база е за да има реално доказателсвто за проверка на достоверност на анкетата, а не просто всяка анкета да увеличава някакви броячи със стойности, без да се запазва)
+Приложението генерира статистика и я изкарва на отделна станица на сайта.
+
+[Milestones/Възлови точки]
+Създаване на логин страница.
+Създаване на потребител като обект.
+Създаване на анкета като обект.
+Създаване на модел на базата.
+Записване на информация от анкета в базата.
+Генериране на картинка за статистика и пращането и към страница на приложението.
+
+[Estimate in man-hours/Времеоценка в човекочасове]
+Не съм убеден колко ще излезе като време, но не мисля че ще е по-малко от 50-60 часа сумарно.
+
+[Usage of technologies/Потребление на технологии]
+Django
+Matplotlip - за графики с картинки от статистиката
+SQLAlchemy - за базичката
+"""

[Title/Звание]

  • Звучи чудесно.

[Description/Обрисовка]
* Бих добавил още функционалности, защото иначе сложността е прекално лека. По-долу има конкретни коментари по темата.

[Functionalities/Надарености]
* Написал си HTTPS, но това ще изисква сертификат, чийто сетъп не е тривиален, така че просто използвай HTTP. Сетването на сертификата няма общо с курса по Пайтън, така че го считам за излишно вложено време.

[Milestones/Възлови точки]

  • Тези двете ти идват наготово
    • Създаване на логин страница.
    • Създаване на потребител като обект.
  • За тези двете - създаването на обект и модел в Django е кажи-речи едно и също, ако този обект просто държи данните за анкетата и ги дава с някакъв интерфейс. Ако имаш предвид, че ще направиш един модел и отделно един клас, който да използва данните от модела, но да има и други методи, като създаване на графика и обработване на логика, звучи добре.
    • Създаване на анкета като обект.
    • Създаване на модел на базата.
  • За да е по-интересно, а и по-лесно за надграждане, направи няколко модела в базата данни:
    • Модел за въпрос - основен тип въпрос, който другите да наследяват.
    • Отделни модели за подкласове на "Въпрос" - radio въпрос, checkbox въпрос, text въпрос, number въпрос, slider въпрос... и подобни.
    • Направи модел "анкета", който да е "колекция" от такива въпроси.
    • Направим модел за генерираните графики, за да не ги създаваш наново при всеки рекуест.
    • Направи модел "анкетиран", в който да имаш данни за самия човек, който дава отговорите.
    • Може и още да го надробиш, за да е възможно най-податливо за растеж.
  • Направи статистика не само за текущото състояние, а позволи генериране на графика с произволни данни - например само за определени елементи от таблицата в данните за "анкетиран", или само с хора, които са дали определен отговор на определен въпрос (например всички, който са с леви убеждения).
  • Добра идея е да направиш някакво API, с което да мога да получавам тези данни и в сурови JSON-и. Например, аз бих могъл да имам някакъв софтуер, който да прави мои графики с твоите данни. Можеш да ми позволиш да чета данните ти и да получавам същата функционалност, дори с филтриране, но програматачино.
  • Можеш да направиш API-то ти да събира "последователи" - набор адреси, които да бъдат извикани при определени условия. Например, имаш Celery, което пуска автоматични процеси и прави изводи на база данните ти. При определени условия, просто праща някакъв рекуест към някакъв линк, който аз, като потребител на API-то, съм ти дал при регистрация на нов сървис, за който искам да се събскрайбна (извинявам се за чуждиците, но само така ще съм сигурен, че разбираш за какво говоря). Би могъл да го направиш доста интересно - да сетвам определени условия сам - например, прати ми данни на всеки кръгъл час, или ми прати известие, когато някой десен е гласувал за лява партия...представям си някакъв протокол, с който да мога да изразявам подобни желания, разбира се, в определен формат, който ти дефинираш, но достатъчно обширен, че да имам свобода да искам много, посредством изтерефейса ти.
  • Можеш да направиш така, че да създавам нова анкета през браузъра, или през JSON заявка до API-то, избирайки въпроси от какъв тип и с какви заглавия и отговори да създам.