1"""
2[Title/Звание]
3Bot de Mode
4
5
6
7
8[Description/Обрисовка]
9Bot de Mode е идея за Telegram Bot, предназначен да улесни следенето на модни тенденции. Основната цел на
10проекта е потребителят да получава актуална статистика относно популярността на основни стилове, както и за отделни
11артикули в съответните категории, като процесът бива максимално опростен и лесен за използване. Ботът анализира
12търсенето на отделни популярни марки, цветове и хаштагове в социални мрежи като Pinterest, Instagram и Tik Tok.
13На база събраната информация потребителят получава графики и съобщения за текущите тенденции. Смятам, че в динамичния
14свят на "инфлуенсърите" и бързата мода, бот като този ще подпомогне справянето с непрестанния поток от информация.
15
16
17
18
19
20[Functionalities/Надарености]
21Функционалности, които Bot de Mode ще поддържа:
22 - автоматизирани известия - ежедневно изпращане на известия за текущите модни тенденции
23 - получаване на статиски по конкретни ключови думи (напр. "streetwear", "casual", "haute couture", "eco-fashion"),
24 като това ще изпраща на съответния потребител синтезирани графики за най - популярните марки в дадената
25 категория за момента (осъществява се посредством бутони за навигация)
26 - нотификации за 'трендове' - когато даден 'хаштаг' или ключова дума започне да набира популярност,
27 потребителят ще получава известие
28 - персонализация на съдържанието - потребителите могат да задават предпочитания за получаване на информация
29 по стил и/или цвят
30 - команда /help - предоставя информация относно функционалността на бота и неговото използване
31
32
33[Milestones/Възлови точки]
34 - създаване на бот-а и получаване на необходимия 'token' за него
35 - разработка на основните класове и изграждане на връзките между тях
36 - събиране на данни от Instagram чрез съответния API (Instagram Graph API) и генериране на 'access tokens'
37 - събиране на данни от Pinterest чрез съответния API (Pinterest API)
38 - събиране на данни от целия интърнет (selenium API, BeautifulSoup API (но е малко под въпрос, защото не искам да
39 попадна зад решетките ;) ))
40 - записване на събраната информация в база данни (най -
41 вероятно ще използвам SQLite3), за да се подсигури дългосрочен анализ
42 - разработка на алгоритъм за анализ на събраната информация - идентифицират се популярните хаштагове и
43 тяхната употреба
44 - визуализация на анализа - чертане на графики и предоставянето на някакви текстови обобщения
45 - модифициране на бот-а, за да изпраща съобщения
46 - автоматизиране на съобщенията (не съм много сигурна как обаче, хаха)
47 - изготвяне на основната логика на бота - добавяне на функционалностите за търсене по ключови думи и категории
48 - тестване на кода и създаване на unit тестове
49
50
51[Estimate in man-hours/Време Оценка в човекочасове]
52 - търсене на информация за работата с отделните APIs ~ 3 човекочаса
53 - изготвяне на основните връзки между бот-а и платформите, както и цялостната структура на системата ~ 18 човекочаса
54 - търсене на обучителна информация за работата с базата данни и осъществяването на връзката ѝ със системата ~ 12 чч.
55 - изготвяне на алгоритъм за анализиране на акумулираните данни ~ 21 чч.
56 - автоматизиране на системата ~ 12 чч.
57 - създаване на unit тестове и тестване ~ 12 чч.
58 (времето за някои функционалности е доста закръглено и не гарантирам, че няма да има отклонения от гореспоменатите
59 интервали)
60**Общо** : 78 чч.
61
62
63[Usage of technologies/Потребление на технологии]
64 - pyTelegramBotAPI, telebot и BotFather -> за създаването на самия bot
65 - различни APIs за събиране на нужната информация - Instagram Graph API, Pinterest API, selenium API
66 - SQLite3 за поддръжка на база от данни (защото само за него съм гледала видеа как работи >_< )
67 - библиотеките numpy и matplotlib за изчертване на графиките
68 - модулът schedule, за да се автоматизират съобщенията
69 - използването на допълнителни платформи, за да се пусне самия бот (още не знам и не съм решила как точно)
70 - допълнителни вградени библиотеки в Python
71
72"""
----------------------------------------------------------------------
Ran 0 tests in 0.000s
NO TESTS RAN
Екатерина Стоянова
16.12.2024 12:49Добре, благодаря Ви много за обратната връзка! Ще се опитам наистина да имплементирам частта с базата данни, мисля, че ще е доста полезно! Благодаря отново за разбирането!
|
Георги Кунчев
16.12.2024 10:32Радвам се, че вече имаш гръбнак и е логично да се опиташ да го запазиш.
Виждам, че имаш доста идеи за това как да го направиш, а аз не мисля, че мога да споделя мнение кое е най-добрият вариант.
Започни с това, което най-много предпочиташ и надграждай спрямо времето, с което разполагаш.
Ако ще имплементираш 1-2 API-та, бих казал, че е излишно да добавиш още 2-3, които показват сходни умения. Да, ще имаш повече функционалност, но тя няма да визуализира различни похвати и умения, които се очаква да си придобила по време на курса.
Можеш да заложиш на добър дизайн, така че да имаш ниво на абстракция, което дефинира всички сходни операции, свързани с API-та.
Ако смяташ, че имаш нужда да надградиш отвъд описаните неща, може би можеш да опиташ да създадеш база данни, в която ботът да "помни" някакви неща за потребителя и да ги предоставя при нужда. Не знам как работи астрологията, защото според мен просто "не работи" :smile:, но бих казал, че ако ботът дава съвети за дадено поведение, потребителят може да дава обратна връзка, с която ботът да се учи. Ако те е посъветвал да инвестираш пари, защото планетата X е на позиция Y, но си загубил инвестицията си, да не го прави повече... Просто разсъждавам "на глас". Не знам дали е удачна идея за твоя контекст.
|
Екатерина Стоянова
15.12.2024 10:23Здравейте,
Както Ви бях казала, имам проблем с взимането на достъп на API - овете на Instagram и Pinterest. За да бъда по-точна - въобще не знаех, че за тези неща се е изисквало да се кандидатства за достъп и от двете места директно ме отрязаха 😂😭😭. Затова сега тръгнах да обмислям какво точно да направя с проекта си, понеже "гръбнакът" ми е вече готов - имам Телеграмския бот и част от нещата му са автоматизирани и работещи и не бих искала тотално да го зарязвам. Та имам една идея (доста странна, признавам), но е подобна на нещо, което с мои приятелки използваме. Планирам да използвам модула https://pypi.org/project/pyswisseph/ , който се калкулира планетарните позиции, и на база това да направя бота да е автоматизиран за астрология, а не за мода - генериране на натални карти, дневен хороскоп (обмислям да го направя или на база някакви pool от шаблони, т.е. нещо от вида : "Today is a day of {{theme}} for {{sign}}. Focus on {{action}}."
"Expect {{event}} in your {{area}} today, {{sign}}." (което мен лично не ме кефи много), или да използвам тези два API - а, за които ChatBot-a ме информира - "Astro-API: Provides daily horoscopes and other astrological data. Horoscope API by Aztro: Free and straightforward to use.". Трябва да доразгледам как се ползват, че да не стане пак гаф, но иначе (вече ако ми остане време за надграждане) мисля да се опитам да използвам и OpenAI API, за да генерира текста за дневните хороскопи и да го свържа към някакъв 'астрологичен' dataset, за да работи коректно. ). Друга функционалност обмислям да бъде и това да се въведат два знака (обмислям да го направя и по слънчев знак(което е зодията), и със знака на Венерата, но това е астрологична специфика вече, хаха), но при въвеждането на тези два знака да се генерира текст за това дали те си подхождат в любовен план. Също (ако вече не е твърде много) ще се опитам да направя рандомизирано теглене на карта таро за деня (ако знаете астрологичния бот във Viber, той прави същото).
Но да, не знам дали това е ок проект, но просто искам да не трябва напълно от начало да почвам, като вече имам част от кода, а само да сменя концепцията. Друг вариант за преправяне, който обмислях, е да направя бота да е "женски" календар, в който да се следят физиологическите месечни особености😅, но там вече не знам как да надградя функционалностите, без да бъде 50 реда код. Та да, не знам, ще се радвам на обратна връзка и градивна критика как да подбера кое от двете да правя и как бих могла да ги надградя!
Поздрави,
|
Георги Кунчев
03.12.2024 09:40Да съм честен, не знам какво е нужно за интеграция с Телеграм, така че не мога да дам адекватна обратна връзка относно сложността на задачата, но като дефиниция на интерфейса е достатъчно.
|
Екатерина Стоянова
03.12.2024 09:13Благодаря Ви за отговора! Ще разгледам относно SQLAlchemy и Celery. Иначе аз бях описала горе относно това, че искам ботът да е през Telegram чат и съответно там ще се изпращат ежедневно съобщенията към абонираните потребители. Това окей ли е, или е нужно по-детайлно да опиша цялостния интерфейс?
|
Георги Кунчев
02.12.2024 10:43Има хляб в идеята. Има разнообразие. Звучи добре.
За нещата, които ще скрейпват информация от "целия интърнет" - имай предвид, че ще ти отнеме не малко време да нагласиш това да "съблича" информация дори от един сайт, камо ли да го направиш да търси в много сайтове. Започни с API-та, които спомена и го направи с тях. Скрейпването винаги може да се добави към края, за да не рискуваш да се оплетеш с него и да не получиш нищо работещо. Губил съм дни, за да скрейпна информация от един единствен сайт, и накрая без успех.
Казваш, че искаш да ползваш SQLite - файн, но препоръчвам да видиш SQLAlchemy. Ще те улесни.
За автоматичните съобщения ще ти трябва някакъв worker, който да пуска задачите. Можеш да опиташ със Celery.
За хостинг на самият бот можеш да видиш за онлайн решения, разбира се, но можеш и да си го пуснеш на твоя компютър и да визуализираш, че работи. Ако искаш да си го ползваш в последствие, винаги можеш да го контейнеризираш и да го качиш някъде, но това е извън курса, така че не се фокусирай в него.
Само не разбрах какъв ти е интерфейса. Къде ще влизат тези нотификации? По имейл или ще правиш клиентско приложение?
Ако е по имейл, как бих могъл да се събскрайбна? Може би искаш да го интегрираш в някой чат като Discord бот например?
|
Екатерина Стоянова
30.11.2024 13:55Изобщо не съм сигурна дали този проект е добра идея, нито дали съм го описала правилно, но ако нещо, другата ми опция е да се пробвам да направя някакво мобилно приложение, ако това повече ще Ви допадне? Просто гледах доста видеа в нета за различни идеи за проекти и това да си направя някакъв 'бот', който да ме известява за неща, които на мен да са ми интересни, а именно - модата, най-ми допадна😂. Та да, ако не е окей, ще го пренапиша, просто изобщо не можех да реша какъв точно да ми е проектът, а когато се сетих за това, ми стана доста присърце, хаха!
|