Домашни > Време е да помислите за проектите си! > Решения > Решението на Николай Георгиев

Резултати
0 точки от тестове
5 точки от учител

5 точки общо

0 успешни теста
0 неуспешни теста
Код

 1'''
 2Химична обрабАтка
 3
 4Приложение, без което нито една уважаващ себе си батка не може да живее (буквално).
 5Позволява на истинските мъже да проследяват "хранителните добавки", които приемат, 
 6техните ефекти (както желаните, така и страничните), да комбинират и създават нови добавки, 
 7както и да намират близки “дистрибутори“.
 8
 9Приложението има следните функционалности:
10 - “Дневник“ - потребителят може да отчита начлна дата на прием и дневна дозировка. На базата
11 на предварително зададените от потребителя мерки (тегло, възраст и т.н.) и на останалите добавки в
12 дневника системата изичислява очакваните жизнени нива в бъдеще.
13 - “Лаборатория“ - потребителят може да експериментира, като комбинира различни продукти и автоматично
14 да получи очакваните резултати от създаденото вещество.
15 - “Дистрибутори“ - системата предоставя списък с най-близките дистрибутори на желаните от потребителя
16 добавки (адрес, цена, контакти).
17 - Освен обикновените потребители и дистрибуторите могат да създават специални каунти, с които да
18 предлагат стоката си в системата. Те ще имат възможност да обявяват предлаганите продукти, както и
19 местоположението си, като точните координати ще се предават в криптиран канал само когато и двете страни
20 имат интерес да се извърши срещата
21
22Възлови точки:
23 - UI в терминала
24 - Модул за откриване на близки дистрибутори.
25 - Контролери за логиката на трите отделни секции
26 - Комуникация с база данни
27 - Криптиране на координатите на дистрибуторите, за да се гарантира поверителността им
28 - Логика за комуникация между дистрибутор и обикновен потребител, 
29 което се състои в нотифициране на двете страни за изявен интерес и декриптиране на координати
30
31Използвани технологии:
32 - Django за базата данни
33 - geopy за адресите на дистрибуторите
34 - cryptography за криптиране на данните на дистрибуторите
35
36Времеоценка: 40 ч.
37'''


----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

Дискусия
Виктор Бечев
05.01.2024 17:00

Не е лошо надграждане, но пак не мога да преценя импликациите спрямо сложността. Така ще ти кажа - с тази спецификация на проекта, ако нямаш логика, която ще изиска писането на 20+ автоматизирани теста - има шанс да нямаш достатъчно функционален код. Като се замислиш - ако махнем базата, geopy и криптирането - получаваме спецификация като за домашно. Няколко класа за потребителите, клас за _(на базата на последния ти коментар)_ произволно генерирани вещества, които после по някакъв алгоритъм изчисляват очаквани жизнени нива за даден обект от клас Batka. Просто цялото нещо е прекалено абстрактно и пълно със "симулирано", а не реално поведение. Генетичният алгоритъм е catchy, но пак ще трябва внимателно да помислиш дали реално е нещо поне малко достоверно или напълно измислена логика, която бихме ви накарали да направите в домашно _(case in point - домашното с Чернобил)_. И пак се връщам до долното твърдение, но ще перифразирам - проектът дава 6х точки спрямо домашните. С други думи се предполага сумарната му сложност да е значително по-голяма (6 пъти, има-няма). Ако проектът ти се окаже с размер на 1-2 домашни, няма как да ти дадем 60 точки, дори да е перфектен (сега, има го и това, че ще си писал тестове, но аз говоря за горна, а не за долна граница). Просто ориентир. :) П.П. Не казвам, че трябва за да е валиден проектът ти да направиш пробив в науката... Просто не мога да преценя дали така дефинирано заданието ти ще произведе достатъчно Питон и достатъчно логика, която да допусне максимален брой точки.
Николай Георгиев
05.01.2024 15:18

Мислих да генерирам различни вещества с произволни коефициенти в дадени категории като ускоряване на пулс, енергийна стойност, протеини и т.н. В дневника по някаква формула ще се изчислява общото им въздействие. За лабораторията и аз не бях напълно сигурен как би изглеждало комбинирането. За да увелича малко сложността на проекта мога да се пробвам да представям различните вещества като лист от "молекули" отново с различни коефициенти и да имплементирам генетичен алгоритъм, с който да се намира най-доброто съотношение на базата на коефициентите.
Николай Георгиев
05.01.2024 15:18

Мислих да генерирам различни вещества с произволни коефициенти в дадени категории като ускоряване на пулс, енергийна стойност, протеини и т.н. В дневника по някаква формула ще се изчислява общото им въздействие. За лабораторията и аз не бях напълно сигурен как би изглеждало комбинирането. За да увелича малко сложността на проекта мога да се пробвам да представям различните вещества като лист от "молекули" отново с различни коефициенти и да имплементирам генетичен алгоритъм, с който да се намира най-доброто съотношение на базата на коефициентите.
Виктор Бечев
05.01.2024 12:04

Нямаш нужда да ползваш цялото Django само заради ORM-а. Можеш да разгледаш други опции, които ти предоставят само обектен модел, например SQLAlchemy. Отвъд това - може би има логика, която не мога да уловя (например "Лаборатория"-та), но ми изглежда, че приложението има предимно писане и четене в/от база и тук таме някое по-особено query (например това с най-близките дистрибутори). - Дневник - ORM и _изчисляване на жизнените нива_. Освен ако последното не е сложен алгоритъм, а не просто fun 5-liner - на практика няма особена логика. - Лаборатория - отново, какъв е алгоритъмът тук? Нещо реално или забавна симулация? Може би просто не разбирам идеята, но heads up - ако се окажат 200 реда код - прекалено малко е.
История
Това решение има само една версия.