1"""
2[Title/Звание]
3
4ГрадинкатаМи
5
6
7[Description/Обрисовка]
8
9ГрадинкатаМи е десктоп приложение, което позволява на потребителя да добавя растения и да задава напомняния за поливане, наторяване и други задачи. Програмата работи в терминала и предлага базова функционалност за управление на градинарски задачи.
10
11
12[Functionalities/Надарености]
13
14- Добавяне на растения - Потребителите ще могат да добавят растения, както и някаква информация за тях (име, честота на поливане, оптимална температура, вид почва, категория (плод, зеленчук, цвете), бележки)
15 -- Добавяне на бележка към растението (пр: Наторих домата вчера, 10.06) (вероятно ще могат да се добавят и други неща, които няма да са задължителни полета при добавянето на растение)
16 -- Редактиране на информацията за дадено растение
17
18- Проследяване на график за грижа за едно растение - Приложението автоматично изчислява и показва датите, на които да се полива всяко едно растение въз основа на въведените от потребителя данни (пр: Домати: поливане: през ден => ако днес сме 11.06, приложението ще покаже нещо от сорта на: Поливане на домати - 13.06, 15.06, 17.06 (ай гесс, ще измисля като някакъв календар, в който да визуализирам датите) (или може потребителят да избере другия изглед, който да му покаже само кога е следващото поливане, да речем))
19
20- Проследяване на график за грижа на всички растения - като горното, но за всички растения
21
22- Съхраняване на информация - Предполагам, че ще успея да измъдря как да пазя информацията в JSON файлове например. (или май имаше нещо, което беше като extension в Python, не помня точно)
23
24- Показване на седмичен график - 13.06 - Поливане на домати; 14.06 - Поливане на чушки, поливане на тикви; 15.06 - Поливане на домати
25
26- Разходи и бюджет - Потребителят да може да си въведе разходите за грижи за растенията (пр: торове, почви, вода, мотики, алабала) и програмата да генерира месечен отчет за разходите, idk.
27
28- Съвети спрямо текущия месец - Приложението да показва полезни съвети спрямо месеца, който е в момента (пр: Сезонни съвети за юни: - Поливайте рано сутрин или късно вечер. - Следете стриктно за изсъхване на почвата на растенията. //самтинг лайк дат)
29
30- Интересни факти - Потребителят получава интересен факт за растенията. (по подобие на горното)
31
32- Предизвикателства - Мислех си да има някакъв тип предизвикателства, тестчета, с които потребителят да трупа някакви точки, ама всичко засега е „някакъв, някакви“, изобщо не мога да измисля къде да си ги сложи тия точки... ;д
33
34
35[Milestones/Възлови точки]
36
37Основна структура
38Интерфейс
39Управление на растения
40График на грижи
41Седмичен график
42Сезонни съвети
43Бюджет и разходи
44Предизвикателства
45
46[Estimate in man-hours/Времеоценка в човекочасове]
47
4850 часа
49
50[Usage of technologies/Потребление на технологии]
51
52Интерфейс - все още не знам, отворена съм за предложения
53Съхранение на данни - JSON
54Графици - calendar библиотеката на Python
55Сезонни съвети - текстови файлове, от които да се извлича информацията
56Отчети - idk yet
57
58П.С: Направих бърз brainstorming, тези идеи ми хрумнаха на този етап, (и вероятно има още неща за доизмисляне), тъй че всяка обратна връзка е добре дошла.
59"""
----------------------------------------------------------------------
Ran 0 tests in 0.000s
NO TESTS RAN
Цветелина Гоцова
02.12.2024 12:21Сега се замислих, че щом ще имам потребители, може да направя някакъв форум, в който да си споделят мъките.. 😃
|
Георги Кунчев
02.12.2024 10:22Не е задължително, но би ти помогнало да го имаш като референция.
|
Цветелина Гоцова
01.12.2024 22:06Необходимо ли е да качвам втора версия на домашното, като в нея включа и нещата, които коментирахме (интеграцията с външно API, връзката с Google Календар, SQLAlchemy, Kivy)?
|
Виктор Бечев
27.11.2024 12:40Понеже ми стана интересна дискусията ще придам с лично мнение малко нюанс по темата с CLI интерфейса - **за мен** да това да изградиш сама менюто е инструмент за теб да напишеш и за нас да оценим достатъчно количество [Python](https://www.youtube.com/watch?v=YXzubuENjHk) код.
Ако приложението ти е с достатъчен мащаб, че така или иначе да напишеш 1000 реда код - аз лично не бих държал да си трошиш ръцете да пишеш някакви магически менюта. Да напишеш това, което аз бях подготвил за ООП уъркшопа - 100 реда код. Тези 100 реда няма да са make or break за оценяването, ако всичко останало ни даде достатъчно поле за оценяване. Така че ако имаш нещо много яко в главата - можеш да си позволиш да използваш нещо сравнително готово за CLI и пак ще напишеш достатъчно [Python](https://www.youtube.com/watch?v=W2jgrGtiYHE). А в същото време ще ти даде възможност да го направиш достатъчно хубаво и гъвкаво, че хем да е с възможно най-добър UX, хем ти да си доволна от крайния резултат.
Финално, ако направя един паралел с уеб проектите - не бихме могли да оценим високо проект на Django, който има 90% код, който Django генерира, плюс някой друг модел за базата данни и 1-2 статични страници. Същото е и тук - ако човек има семпла идея - няма как да оценим 1-2 менюта с текст. При теб звучи сякаш има достатъчно поле за надграждане, така че, с добър дизайн и ниво на абстракция, резултатът да е прилично количество код и тестове. В този случай аз не бих се хванал за +- някой друг ред код за принтене по екрана, вярвам никой от проверяващите не би.
|
Георги Кунчев
27.11.2024 12:07Да, за конзолният интерфейс визирам да напишеш менюто си сама. Визуализацията на календара можеш да използваш от споменатия модул, защото няма смисъл да преоткриваш топлата вода, но останалото е добре да направиш сама.
Планът да започнеш със сигурното и да надградиш, ако остане време, е напълно валиден. Използването на външни API-та не би трябвало да те затормози кой знае колко.
|
Цветелина Гоцова
27.11.2024 10:50Да, обмислях Kivy, защото го видях в примера ви, за пръв път го чух вчера, ще разгледам. Ако е конзолно, какво се има предвид под "добре е да изградя всичко сама", да напиша кода за меню, навигация и цялостната визия, така ли?
За външните приложения - още докато си пишех идеите, си мислех да направя връзка с някое приложение за време, от което да извличам информация за валежи например. И ако ще вали днес, да отмени поливането за днес.
Това с Google Calendar е добра идея, поливанията например да влизат в календара му.
Не съм включила засега външни приложения, защото никога не ми се е налагало да работя с такива в други проекти и не се чувствам сигурна в тях. За да ми е сигурна работата, както се казва, обмислям на първо време да си напиша нещата, за които съм сигурна, пък впоследствие да разгледам работата с външни приложения.
За базата данни четох, че това SQLAlchemy е именно от Пайтъна. Вероятно ще размисля за JSON-a и ще използвам база данни.
Благодаря за обратната връзка!
|
Георги Кунчев
27.11.2024 09:40В обрисовката казваш, че ще правиш конзолно приложение, но в края казваш, че се чудиш за интерфейса. Ако е конзолно приложение, добре е да изградиш всичко сама, за да натрупаш сложност (изключвам календара, за който вече имаш добра идея, но не търси някакви готови решения за меню и навигация). Ако решиш да използваш нещо графично, това би било достатъчна сложност като за интерфейса. Можеш да опиташ с Kivy - струва ми се подходящо за твоята идея. Ако решиш все пак да е конзолно - няма проблем.
Откъм функционалност мисля, че трябва да помислиш за надграждане. Като цяло имаш CRUD операции за някакви събития, които могат да се визуализират в календар. Няма разнообразие. Можеш, например, да опиташ да събираш информация за прогноза за времето от някакво външно API, на базата на която да помагаш на потребителя да се грижи за растенията. Може да опиташ да направиш интеграция с Google Calendar (или алтернатива), за автоматично създаване на ивенти за поливане и сие... Само хвърлям идеи. Ти си решаваш дали гониш максимум точки и дали тези идеи ти харесват.
Естимейтът ми звучи правдоподобен за това, което написа, но ако надградиш с някоя идея, може би ще скочи. Имай го предвид.
За технологиите бих препоръчал вместо JSON да ползваш база данни. Виж SQLAlchemy, но ако не те кефи, може и друго. Просто показваш повече разнообразие.
Да съм честен, не нях чувал за calendar модула на Питон. Изглежда готино, ако ще правиш конзолен интерфейс. А дори да ползваш графичен интерфейс, сигурно пак можеш да се възползваш от него.
Предизвикателствата ми се струват излишни. Някакси не пасват на останалата идея.
|
Цветелина Гоцова
27.11.2024 00:23Като се замисля, заглавието не е много подходящо... за текущото ще получа -1 точка 🤣
Ама здраве да е!
|