Домашни > Време е да помислите за проектите си! > Решения > Решението на Илиан Запрянов

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

6 точки общо

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

  1"""
  2Ново хайку, защото Виктор е сърдит:
  3
  4...- .-.. --.- --.. --- .... / ...- / --.. .- .-.. .- /
  5-. .- / .--. .-. --- .--- . -.- - --- .-. / ... .--. .- -- / ... .--. .- -- / ... .--. .- -- /
  6- .-. ..- --. -. .- .... / ... .. / --- - - .- --
  7
  8**[Title/Звание]**
  9Shredded Monty Python
 10
 11**[Description/Обрисовка]**
 12Никой не иска да е слаб колкото “Виктор Бечев” - име свързано с криминални престъпления по целия свят и обявен за международно 
 13издирване или да дава гадни домашни с още по-невъзможни тестове, в които слага снимки, на които иронично бърка цимент, за 
 14да ни се подиграва на пътя, който ще изберем след тази избираема дисциплина - “Георги Кунчев”. Чу ли, Жорка, r"^gadni\b" домашни.
 15
 16Всички тези житейски проблеми, обгърнали битието на студентите, следващи във ФМИ, са решени благодарение на 
 17Shredded Monty Python (не знам как ги решава). Това е уеб приложение, идеята зад което е да помогне на хората 
 18да постигнат своите фитнес цели, като предостави удобен и ефективен начин за проследяване на тренировките и 
 19физическия прогрес. Чрез лесен за използване интерфейс потребителите могат да записват своите тренировки, 
 20да следят промените в теглото и телесните си измервания и да следят своето развитие. Всеки потребител ще може 
 21да сподели прогреса си с останалите потребители, което подсказва една от основните цели на платформата - 
 22да създаде целеустремена, взаимноподкрепяща се общност.
 23
 24**[Functionalities/Надарености]**
 251. **Потребителски профил**:
 26   
 27    Регистрация - потребителят трябва да се регистрира преди използването на функционалностите на платформата.
 28    Форма за регистрация:
 29        - Потребителите трябва да попълнят форма с основна информация минимални изисквания за сигурност като:
 30          - име и фамилия
 31          - имейл адрес - трябва да се валидира дали имейлът вече е използван
 32          - парола
 33   
 34    Вход - потребителят трябва да влезе в профила си, ако вече се е регистрирал.
 35    Форма за вход:
 36        - имейл адрес
 37        - парола
 38   
 39    Личен профил с информация за тренировки и тегло:
 40        - Приложението дава възможност на потребителите да създадат собствени рутинни програми, които са изградени според 
 41          различни фитнес цели – загуба на тегло, изграждане на мускулна маса, подобряване на издръжливостта и други.
 42
 432. **Администраторски профил**:
 44    - Администраторът трябва да има достъп до всички функционалности, до които обикновения потребител има достъп.
 45    - Администраторът трябва да може да сменя пароли на обикновените потребители, техните имейли и дори да ги изтрива 
 46      напълно.
 47    - Администраторът трябва да може да трие постове, с цел да се запази адекватно ниво на цензура.
 48    - Администраторът трябва да може да изпраща имейл лично (негенериран) до даден потребител, ако това е необходимо.
 49    - Администраторът трябва да може да добавя нови упражнения в pool-a и да редактира предишните
 50    - Администраторът е готин.
 51
 523. **Тренировки**:
 53    - Възможност за добавяне на нова тренировка с полета:
 54    
 55        - Логнатият потребител трябва да може да създаде своя тренировка, като попълни необходимата форма за 
 56          създаване на такава.
 57        
 58        Формата ще съдържа:
 59            - Вид на тренировката (например кардио, силова тренировка, йога).
 60            - Продължителност в минути.
 61            - Дата на провеждане.
 62    
 63    - Преглед на всички записани тренировки в табличен формат:
 64        - Логнатият потребител трябва да може да види всички свои записани тренировки в табличен формат.
 65    - Редактиране и изтриване на записани тренировки:
 66        - Логнатият потребител трябва да може да редактира и изтрива своите записани тренировки.
 67
 684. **Проследяване на тегло**:
 69    - Добавяне на запис за тегло с дата на измерване:
 70        - Логнатият потребител трябва да може да добавя запис за теглото си в даден ден, като може да го запише в 
 71          килограми или паундове.
 72    - Преглед на всички записи в таблица:
 73        - Логнатият потребител трябва да може да види всички свои записани измервания в табличен формат.
 74    - Генериране на графика за промяната на теглото с времето:
 75        - Логнатият потребител трябва да може да види графика, илюстрираща теглото му във времето.
 76
 775. **Графики и визуализации**:
 78    - Графика за напредъка на теглото (тегло спрямо време).
 79    - Визуализация на напредъка на потребителя спрямо сила.
 80
 816. **Известия**:
 82    - Известия за успешно добавяне, редактиране или изтриване на данни чрез Django messages.
 83    - Приложението предлага статистики по имейл (текущ месец/предходен месец), които дават визуална представа за 
 84      постигнатия напредък.
 85    - Push Notifications - с цитати на готини хора, напр.: “Аз няма да пия” ~Костадин Русалов.
 86
 877. **For You**
 88    
 89    - интерактивно пространство в приложението, където потребителите могат да се свързват, да споделят своя опит и да 
 90    участват в активни дискусии, свързани с техните фитнес цели и постижения.
 91    
 92    Какво предоставя For You:
 93        - Публикуване на постове:
 94            - Потребителите могат да създават свои постове, в които да споделят мотивационни истории, съвети за тренировки, 
 95              въпроси или просто вдъхновяващи моменти от личното си фитнес пътуване (текст, снимки, клипове).
 96        - Харесване и коментиране:
 97            - Всяка публикация може да бъде харесвана от други потребители, като по този начин се създава чувство на подкрепа 
 98              и мотивация в общността.
 99        - Водене на дискусии:
100            - For You е място за открити и вдъхновяващи дискусии.
101            
1028. **Разновидност от калкулатори** 
103
104    - страница от платформата, в която потребителят ще може да се възползва от набор от калкулатори,
105    с помощта на които може да получи нужна за него информация
106    
107        - 1. One-Rep Max (1RM) Калкулатор - позволява на потребителите да изчислят максималната тежест, която могат да повдигнат
108    за едно повторение, базирано на текущата им тежест и брой повторения.
109        - 2. BMI (Body Mass Index) Калкулатор - калкулатор за телесна маса, който определя дали потребителят е поднормено тегло, нормално тегло, 
110    наднормено тегло или със затлъстяване
111        - 3. Калориен Калкулатор - позволява да се определят колко калории са необходими за поддържане на текущото тегло, базирано на активността.
112        - 4. Калкулатор за мазнини в тялото (Body Fat Percentage) - изчислява процента телесни мазнини, базирано на обиколки на тялото.        
113
1149. **Страница с упражнения**
115    
116    - Shredded Monty Python ще включва страница с различни упражнения, която позволява на потребителите да разглеждат и организира
117    тренировките си по удобен и интуитивен начин.
118
119    Функционалности на страницата с упражнения:
120        1. Тагове за упражнения:
121            - видове тагове:
122                > мускулни групи: "back", "chest", "legs", "arms", "core".
123                > ниво на трудност: "beginner", "intermediate", "advanced".
124                > оборудване: "barbell", "dumbbells", "bodyweight", "resistance bands".
125                > тип на упражнението: "strength", "crossfit" (тагът ще бъде баннат предварително), "cardio", "functional training".
126
127            - всяко упражнение ще бъде категоризирано с един или повече тагове:
128            - тагове ще позволяват лесно търсене и филтриране.
129        
130        2. Сортиране:
131            - азбучен ред (A-Z или Z-A).
132            - ниво на трудност: "beginner", "intermediate", "advanced".
133
134        3. Филтриране
135            - потребителите ще могат да филтрират упражненията чрез таговете, което ще улесни намирането на подходящи упражнения за техните нужди.
136        
137        4. Формите на упражненията освен тагове и име на упражнението, ще включват и YouTube линкове към съответното упражнение, за да може да се визуализира
138        лесно начина му на изпълнение на потребителя
139
14010. (ако все още имам проблеми с визуализация > логика)
141        
142    Карта с фитнеси в близост до потребителя:
143        - платформата ще поддържа карта, която използва текущото местоположение на потребителя и поддържа.
144            > автоматично намиране на фитнеси в радиус от 5км
145            > маркери за всеки фитнес с информация като име, адрес и рейтинг.
146        
147    Преглед на рецензии:
148        - всяко място ще има секция за рецензии, където потребителите могат:
149            > да виждат съществуващи рецензии (ако се използва Google Places, рецензиите ще бъдат интегрирани директно).
150            > да добавят свои рецензии за съответния фитнес.
151
152    Добавяне на рецензии:
153        - регистрираните (логнатите) потребители могат да добавят своя оценка (от 1 до 5 звезди) и кратка похвала/критика.
154        
155    Система за рейтинг:
156        - автоматично изчисляване на средния рейтинг за всеки фитнес въз основа на рецензиите от потребителите.
157        - сравнение на рейтингите на различните фитнеси.
158
159    Филтри и търсене:
160        - потребителите могат да търсят фитнеси на картата по критерии като:
161            > рейтинг.
162            > разстояние от текущото местоположение.
163        
164**[Milestones/Възлови точки]**
165    - Инициализация на проекта:
166        - Създаване на нов Django проект и приложение.
167        - Конфигуриране на PostgreSQL база данни чрез psycopg2.
168        - Настройка на Django Admin за управление на данните.
169    - Създаване на модели:
170        - Модел за потребители: Използване на вградения User модел в Django.
171        - Модел за тренировки: Полета: вид тренировка, продължителност, дата, потребител.
172        - Модел за тегло: Полета: дата на измерване, тегло, потребител.
173        - Модел за упражнения: Полета: име, тагове (мускулни групи, ниво на трудност, оборудване, тип), YouTube линк.
174        - Модел за публикации и коментари в For You.
175    - CRUD функционалности за тренировки и тегло:
176        - Създаване на изгледи за добавяне, редактиране и изтриване на записи.
177        - Форми за валидиране на входните данни.
178        - Списък с всички записи за тренировки и тегло.
179    - Автентикация и ограничение на достъпа:
180        - Регистрация, вход и изход за потребители с валидиране на данни.
181        - Ограничаване на достъпа до функционалностите за логнати потребители.
182    - Frontend и визуализация:
183        - Създаване на шаблони с Django templates.
184        - Интеграция на Bootstrap за създаване на удобен интерфейс.
185        - Добавяне на графики за прогреса на теглото с Chart.js или Matplotlib.
186    - For You функционалности:
187        - Реализиране на функционалности за публикуване на постове, коментиране и харесване.
188        - Визуализация на списък с постове.
189        - Поддръжка на качване на медийни файлове.
190    - Известия и push нотификации:
191        - Реализация на push известия и известия чрез имейл, включително използване на Django messages.
192    - Разновидност от калкулатори:
193        - изграждане на калкулатори:
194            > One-Rep Max (1RM) Калкулатор.
195            > BMI (Body Mass Index) Калкулатор.
196            > Калориен Калкулатор.
197            > Калкулатор за мазнини в тялото (Body Fat Percentage).
198    - Страница с упражнения:
199            > Разработка на страница за разглеждане и организиране на упражнения.
200            > Добавяне на тагове за упражнения: мускулни групи, ниво на трудност, тип оборудване, видове упражнения.
201            > Реализиране на функционалност за търсене, сортиране (A-Z или Z-A) и филтриране чрез тагове.
202    -  Карта
203            > Маркиране на фитнеси в радиус
204            > Рецензии
205            > Рейтинг система
206    
207**[Estimate in man-hours/Времеоценка в човекочасове]**
208    - Инициализация на проекта (10 - 15 човекочаса).
209    - Създаване на модели (10 - 15 човекочаса).
210    - CRUD функционалности за тренировки и тегло (15- 20 човекочаса).
211    - Автентикация и ограничение на достъпа (10 - 15 човекочаса).
212    - Frontend и визуализация (15 - 20 човекочаса).
213    - For You функционалности (20 - 25 човекочаса).
214    - Известия и push нотификации (10 - 15 човекочаса).
215    - Разновидност от калкулатори (5 - 10 човекочаса).
216    - Страница с упражнения (15 - 20 човекочаса).
217    - Карта (25 - 30 човекочаса) (или 500 години). 
218    - Тестване и завършване (15 - 20 човекочаса).
219
220Общо време 125(150) - 175(205) човекочаса
221
222**[Usage of technologies/Потребление на технологии]**
223    - **Backend**: Django (създаване на RESTful API за функционалностите).
224    - **База данни**: PostgreSQL.
225    - **Frontend**:
226        - Django templates (генериране на HTML съдържание).
227        - Bootstrap (стилизация на интерфейса).
228        - Chart.js или Matplotlib (визуализация на данни).
229    - **Библиотеки**:
230        - `psycopg2` (връзка между Django и PostgreSQL).
231        - Django messages (съобщения за успех/грешка).
232    - **Карта**:
233        - Google Maps API
234        - Google Places API
235"""


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

NO TESTS RAN

Дискусия
Георги Кунчев
07.01.2025 11:34

За жалост изпуснах поканата и вече е невалидна. За самия футър не се притеснявай. Няма да е нещо, което ще повлияе на точките. Относно това, че те дразни, може да опитам няколко неща, но намясто, като си заредиш проекта. Може и довечера на лекцията да го погледнем.
Илиан Запрянов
28.12.2024 18:44

[Update] - отказах се от postgre и използвам вградената база данни (sqlite3) - изпратих ви покани към github repository-то ми - относно 8. Разновидност от калкулатори - 1. One-Rep Max (1RM) - 2. BMI (Body Mass Index) - 3. Калориен Калкулатор - 4. Калкулатор за мазнини в тялото (Body Fat Percentage) Реших, че ще е готино и самите калкулатори да имат логване: 1. Попълва се формичката 2. Изчислява се резултата и се появява нов бутон "Add Log" 3. При натискане на "Add Log" се добавя ред в таблицата с логове отдолу, която потребителят вижда 4. Реших, че ще има и Remove бутони на всеки ред (log), тъй като missclick-нах 15 пъти и се изнервих https://prnt.sc/BeHRDuPRLdkL https://prnt.sc/4pgwtQAoGu-U https://prnt.sc/-QdGnaEz1zF4 Прогрес за сега: - Set up-нах си всичко - Homepage - Регистрация/Вход/Изход - Рандъм страничка за "контакти" - Калкулаторите ми са готови - Ограничения на достъпа за нерегисриран потребител (да знам, че е един декоратор и един if във html-а, но звучи много умно) - Това е най-грозният код, който съм писал Проблеми за сега: - https://prnt.sc/UGvFpVQqft18 - Не мога да си сложа footer-a най-отдолу трети ден на половината страници, тъй като, ако направя body-то 100% изглежда прекалено гнусно, затова на някои имам рандъм footer по средата на страницата, тъй като body-то е прекалено малко (например login) (помощ моля https://prnt.sc/z4oDI3V6oMSB) (много ме дразни)
Илиан Запрянов
03.12.2024 02:33

Трудно преживявам, че се наложи да пиша ново хайку, но все пак приемам градивната критика, защото е с основание. Вече бях имал предвид този риск и добавих идеите си за по-нататъшно развитие, ако се получи така, че проектът ми стане беден на пайтън код. Поздрави, Обикновен продавач на лук
Виктор Бечев
03.12.2024 00:24

Трудно преживявам неправилната дължина на втория ред на хайкуто, но все пак оценявам. Разписал си го чудесно, но има риск накрая да се окаже, че не си написал безкрайно много код. Нямаш почти нищо, което да тестваш, а парчетата функционалност, които си дефинирал са сравнително тривиални _(тривиални не значи, че са по 5 реда код, но сами по себе си не включват почти никаква логика, а предимно визуализация)_.
История

f1"""f1"""
2Ново хайку, защото Виктор е сърдит:2Ново хайку, защото Виктор е сърдит:
33
4...- .-.. --.- --.. --- .... / ...- / --.. .- .-.. .- /4...- .-.. --.- --.. --- .... / ...- / --.. .- .-.. .- /
5-. .- / .--. .-. --- .--- . -.- - --- .-. / ... .--. .- -- / ... .--. .- -- / ... .--. .- -- /5-. .- / .--. .-. --- .--- . -.- - --- .-. / ... .--. .- -- / ... .--. .- -- / ... .--. .- -- /
6- .-. ..- --. -. .- .... / ... .. / --- - - .- --6- .-. ..- --. -. .- .... / ... .. / --- - - .- --
77
8**[Title/Звание]**8**[Title/Звание]**
9Shredded Monty Python9Shredded Monty Python
1010
11**[Description/Обрисовка]**11**[Description/Обрисовка]**
12Никой не иска да е слаб колкото “Виктор Бечев” - име свързано с криминални престъпления по целия свят и обявен за международно 12Никой не иска да е слаб колкото “Виктор Бечев” - име свързано с криминални престъпления по целия свят и обявен за международно 
13издирване или да дава гадни домашни с още по-невъзможни тестове, в които слага снимки, на които иронично бърка цимент, за 13издирване или да дава гадни домашни с още по-невъзможни тестове, в които слага снимки, на които иронично бърка цимент, за 
14да ни се подиграва на пътя, който ще изберем след тази избираема дисциплина - “Георги Кунчев”. Чу ли, Жорка, r"^gadni\b" домашни.14да ни се подиграва на пътя, който ще изберем след тази избираема дисциплина - “Георги Кунчев”. Чу ли, Жорка, r"^gadni\b" домашни.
1515
16Всички тези житейски проблеми, обгърнали битието на студентите, следващи във ФМИ, са решени благодарение на 16Всички тези житейски проблеми, обгърнали битието на студентите, следващи във ФМИ, са решени благодарение на 
17Shredded Monty Python (не знам как ги решава). Това е уеб приложение, идеята зад което е да помогне на хората 17Shredded Monty Python (не знам как ги решава). Това е уеб приложение, идеята зад което е да помогне на хората 
18да постигнат своите фитнес цели, като предостави удобен и ефективен начин за проследяване на тренировките и 18да постигнат своите фитнес цели, като предостави удобен и ефективен начин за проследяване на тренировките и 
19физическия прогрес. Чрез лесен за използване интерфейс потребителите могат да записват своите тренировки, 19физическия прогрес. Чрез лесен за използване интерфейс потребителите могат да записват своите тренировки, 
20да следят промените в теглото и телесните си измервания и да следят своето развитие. Всеки потребител ще може 20да следят промените в теглото и телесните си измервания и да следят своето развитие. Всеки потребител ще може 
21да сподели прогреса си с останалите потребители, което подсказва една от основните цели на платформата - 21да сподели прогреса си с останалите потребители, което подсказва една от основните цели на платформата - 
22да създаде целеустремена, взаимноподкрепяща се общност.22да създаде целеустремена, взаимноподкрепяща се общност.
2323
24**[Functionalities/Надарености]**24**[Functionalities/Надарености]**
251. **Потребителски профил**:251. **Потребителски профил**:
26   26   
27    Регистрация - потребителят трябва да се регистрира преди използването на функционалностите на платформата.27    Регистрация - потребителят трябва да се регистрира преди използването на функционалностите на платформата.
28    Форма за регистрация:28    Форма за регистрация:
29        - Потребителите трябва да попълнят форма с основна информация минимални изисквания за сигурност като:29        - Потребителите трябва да попълнят форма с основна информация минимални изисквания за сигурност като:
30          - име и фамилия30          - име и фамилия
31          - имейл адрес - трябва да се валидира дали имейлът вече е използван31          - имейл адрес - трябва да се валидира дали имейлът вече е използван
32          - парола32          - парола
33   33   
34    Вход - потребителят трябва да влезе в профила си, ако вече се е регистрирал.34    Вход - потребителят трябва да влезе в профила си, ако вече се е регистрирал.
35    Форма за вход:35    Форма за вход:
36        - имейл адрес36        - имейл адрес
37        - парола37        - парола
38   38   
39    Личен профил с информация за тренировки и тегло:39    Личен профил с информация за тренировки и тегло:
40        - Приложението дава възможност на потребителите да създадат собствени рутинни програми, които са изградени според 40        - Приложението дава възможност на потребителите да създадат собствени рутинни програми, които са изградени според 
41          различни фитнес цели – загуба на тегло, изграждане на мускулна маса, подобряване на издръжливостта и други.41          различни фитнес цели – загуба на тегло, изграждане на мускулна маса, подобряване на издръжливостта и други.
4242
432. **Администраторски профил**:432. **Администраторски профил**:
44    - Администраторът трябва да има достъп до всички функционалности, до които обикновения потребител има достъп.44    - Администраторът трябва да има достъп до всички функционалности, до които обикновения потребител има достъп.
45    - Администраторът трябва да може да сменя пароли на обикновените потребители, техните имейли и дори да ги изтрива 45    - Администраторът трябва да може да сменя пароли на обикновените потребители, техните имейли и дори да ги изтрива 
46      напълно.46      напълно.
47    - Администраторът трябва да може да трие постове, с цел да се запази адекватно ниво на цензура.47    - Администраторът трябва да може да трие постове, с цел да се запази адекватно ниво на цензура.
48    - Администраторът трябва да може да изпраща имейл лично (негенериран) до даден потребител, ако това е необходимо.48    - Администраторът трябва да може да изпраща имейл лично (негенериран) до даден потребител, ако това е необходимо.
49    - Администраторът трябва да може да добавя нови упражнения в pool-a и да редактира предишните49    - Администраторът трябва да може да добавя нови упражнения в pool-a и да редактира предишните
50    - Администраторът е готин.50    - Администраторът е готин.
5151
523. **Тренировки**:523. **Тренировки**:
53    - Възможност за добавяне на нова тренировка с полета:53    - Възможност за добавяне на нова тренировка с полета:
54    54    
55        - Логнатият потребител трябва да може да създаде своя тренировка, като попълни необходимата форма за 55        - Логнатият потребител трябва да може да създаде своя тренировка, като попълни необходимата форма за 
56          създаване на такава.56          създаване на такава.
57        57        
58        Формата ще съдържа:58        Формата ще съдържа:
59            - Вид на тренировката (например кардио, силова тренировка, йога).59            - Вид на тренировката (например кардио, силова тренировка, йога).
60            - Продължителност в минути.60            - Продължителност в минути.
61            - Дата на провеждане.61            - Дата на провеждане.
62    62    
63    - Преглед на всички записани тренировки в табличен формат:63    - Преглед на всички записани тренировки в табличен формат:
64        - Логнатият потребител трябва да може да види всички свои записани тренировки в табличен формат.64        - Логнатият потребител трябва да може да види всички свои записани тренировки в табличен формат.
65    - Редактиране и изтриване на записани тренировки:65    - Редактиране и изтриване на записани тренировки:
66        - Логнатият потребител трябва да може да редактира и изтрива своите записани тренировки.66        - Логнатият потребител трябва да може да редактира и изтрива своите записани тренировки.
6767
684. **Проследяване на тегло**:684. **Проследяване на тегло**:
69    - Добавяне на запис за тегло с дата на измерване:69    - Добавяне на запис за тегло с дата на измерване:
70        - Логнатият потребител трябва да може да добавя запис за теглото си в даден ден, като може да го запише в 70        - Логнатият потребител трябва да може да добавя запис за теглото си в даден ден, като може да го запише в 
71          килограми или паундове.71          килограми или паундове.
72    - Преглед на всички записи в таблица:72    - Преглед на всички записи в таблица:
73        - Логнатият потребител трябва да може да види всички свои записани измервания в табличен формат.73        - Логнатият потребител трябва да може да види всички свои записани измервания в табличен формат.
74    - Генериране на графика за промяната на теглото с времето:74    - Генериране на графика за промяната на теглото с времето:
75        - Логнатият потребител трябва да може да види графика, илюстрираща теглото му във времето.75        - Логнатият потребител трябва да може да види графика, илюстрираща теглото му във времето.
7676
775. **Графики и визуализации**:775. **Графики и визуализации**:
78    - Графика за напредъка на теглото (тегло спрямо време).78    - Графика за напредъка на теглото (тегло спрямо време).
79    - Визуализация на напредъка на потребителя спрямо сила.79    - Визуализация на напредъка на потребителя спрямо сила.
8080
816. **Известия**:816. **Известия**:
82    - Известия за успешно добавяне, редактиране или изтриване на данни чрез Django messages.82    - Известия за успешно добавяне, редактиране или изтриване на данни чрез Django messages.
83    - Приложението предлага статистики по имейл (текущ месец/предходен месец), които дават визуална представа за 83    - Приложението предлага статистики по имейл (текущ месец/предходен месец), които дават визуална представа за 
84      постигнатия напредък.84      постигнатия напредък.
85    - Push Notifications - с цитати на готини хора, напр.: “Аз няма да пия” ~Костадин Русалов.85    - Push Notifications - с цитати на готини хора, напр.: “Аз няма да пия” ~Костадин Русалов.
8686
nn877. **For You**
88    
877. For You - интерактивно пространство в приложението, където потребителите могат да се свързват, да споделят своя опит и да 89    - интерактивно пространство в приложението, където потребителите могат да се свързват, да споделят своя опит и да 
88   участват в активни дискусии, свързани с техните фитнес цели и постижения.90    участват в активни дискусии, свързани с техните фитнес цели и постижения.
91    
89    Какво предоставя For You:92    Какво предоставя For You:
90        - Публикуване на постове:93        - Публикуване на постове:
91            - Потребителите могат да създават свои постове, в които да споделят мотивационни истории, съвети за тренировки, 94            - Потребителите могат да създават свои постове, в които да споделят мотивационни истории, съвети за тренировки, 
92              въпроси или просто вдъхновяващи моменти от личното си фитнес пътуване (текст, снимки, клипове).95              въпроси или просто вдъхновяващи моменти от личното си фитнес пътуване (текст, снимки, клипове).
93        - Харесване и коментиране:96        - Харесване и коментиране:
94            - Всяка публикация може да бъде харесвана от други потребители, като по този начин се създава чувство на подкрепа 97            - Всяка публикация може да бъде харесвана от други потребители, като по този начин се създава чувство на подкрепа 
95              и мотивация в общността.98              и мотивация в общността.
96        - Водене на дискусии:99        - Водене на дискусии:
97            - For You е място за открити и вдъхновяващи дискусии.100            - For You е място за открити и вдъхновяващи дискусии.
98            101            
nn1028. **Разновидност от калкулатори** 
103 
998. Разновидност от калкулатори - страница от платформата, в която потребителят ще може да се възползва от набор от калкулатори,104    - страница от платформата, в която потребителят ще може да се възползва от набор от калкулатори,
100    с помощта на които може да получи нужна за него информация105    с помощта на които може да получи нужна за него информация
nn106    
101        - 1. One-Rep Max (1RM) Калкулатор - позволява на потребителите да изчислят максималната тежест, която могат да повдигнат107        - 1. One-Rep Max (1RM) Калкулатор - позволява на потребителите да изчислят максималната тежест, която могат да повдигнат
102    за едно повторение, базирано на текущата им тежест и брой повторения.108    за едно повторение, базирано на текущата им тежест и брой повторения.
103        - 2. BMI (Body Mass Index) Калкулатор - калкулатор за телесна маса, който определя дали потребителят е поднормено тегло, нормално тегло, 109        - 2. BMI (Body Mass Index) Калкулатор - калкулатор за телесна маса, който определя дали потребителят е поднормено тегло, нормално тегло, 
104    наднормено тегло или със затлъстяване110    наднормено тегло или със затлъстяване
105        - 3. Калориен Калкулатор - позволява да се определят колко калории са необходими за поддържане на текущото тегло, базирано на активността.111        - 3. Калориен Калкулатор - позволява да се определят колко калории са необходими за поддържане на текущото тегло, базирано на активността.
106        - 4. Калкулатор за мазнини в тялото (Body Fat Percentage) - изчислява процента телесни мазнини, базирано на обиколки на тялото.        112        - 4. Калкулатор за мазнини в тялото (Body Fat Percentage) - изчислява процента телесни мазнини, базирано на обиколки на тялото.        
107113
tt1149. **Страница с упражнения**
115    
1089. Страница с упражнения - Shredded Monty Python ще включва страница с различни упражнения, която позволява на потребителите да разглеждат и организира116    - Shredded Monty Python ще включва страница с различни упражнения, която позволява на потребителите да разглеждат и организира
109    тренировките си по удобен и интуитивен начин.117    тренировките си по удобен и интуитивен начин.
110118
111    Функционалности на страницата с упражнения:119    Функционалности на страницата с упражнения:
112        1. Тагове за упражнения:120        1. Тагове за упражнения:
113            - видове тагове:121            - видове тагове:
114                > мускулни групи: "back", "chest", "legs", "arms", "core".122                > мускулни групи: "back", "chest", "legs", "arms", "core".
115                > ниво на трудност: "beginner", "intermediate", "advanced".123                > ниво на трудност: "beginner", "intermediate", "advanced".
116                > оборудване: "barbell", "dumbbells", "bodyweight", "resistance bands".124                > оборудване: "barbell", "dumbbells", "bodyweight", "resistance bands".
117                > тип на упражнението: "strength", "crossfit" (тагът ще бъде баннат предварително), "cardio", "functional training".125                > тип на упражнението: "strength", "crossfit" (тагът ще бъде баннат предварително), "cardio", "functional training".
118126
119            - всяко упражнение ще бъде категоризирано с един или повече тагове:127            - всяко упражнение ще бъде категоризирано с един или повече тагове:
120            - тагове ще позволяват лесно търсене и филтриране.128            - тагове ще позволяват лесно търсене и филтриране.
121        129        
122        2. Сортиране:130        2. Сортиране:
123            - азбучен ред (A-Z или Z-A).131            - азбучен ред (A-Z или Z-A).
124            - ниво на трудност: "beginner", "intermediate", "advanced".132            - ниво на трудност: "beginner", "intermediate", "advanced".
125133
126        3. Филтриране134        3. Филтриране
127            - потребителите ще могат да филтрират упражненията чрез таговете, което ще улесни намирането на подходящи упражнения за техните нужди.135            - потребителите ще могат да филтрират упражненията чрез таговете, което ще улесни намирането на подходящи упражнения за техните нужди.
128        136        
129        4. Формите на упражненията освен тагове и име на упражнението, ще включват и YouTube линкове към съответното упражнение, за да може да се визуализира137        4. Формите на упражненията освен тагове и име на упражнението, ще включват и YouTube линкове към съответното упражнение, за да може да се визуализира
130        лесно начина му на изпълнение на потребителя138        лесно начина му на изпълнение на потребителя
131139
13210. (ако все още имам проблеми с визуализация > логика)14010. (ако все още имам проблеми с визуализация > логика)
133        141        
134    Карта с фитнеси в близост до потребителя:142    Карта с фитнеси в близост до потребителя:
135        - платформата ще поддържа карта, която използва текущото местоположение на потребителя и поддържа.143        - платформата ще поддържа карта, която използва текущото местоположение на потребителя и поддържа.
136            > автоматично намиране на фитнеси в радиус от 5км144            > автоматично намиране на фитнеси в радиус от 5км
137            > маркери за всеки фитнес с информация като име, адрес и рейтинг.145            > маркери за всеки фитнес с информация като име, адрес и рейтинг.
138        146        
139    Преглед на рецензии:147    Преглед на рецензии:
140        - всяко място ще има секция за рецензии, където потребителите могат:148        - всяко място ще има секция за рецензии, където потребителите могат:
141            > да виждат съществуващи рецензии (ако се използва Google Places, рецензиите ще бъдат интегрирани директно).149            > да виждат съществуващи рецензии (ако се използва Google Places, рецензиите ще бъдат интегрирани директно).
142            > да добавят свои рецензии за съответния фитнес.150            > да добавят свои рецензии за съответния фитнес.
143151
144    Добавяне на рецензии:152    Добавяне на рецензии:
145        - регистрираните (логнатите) потребители могат да добавят своя оценка (от 1 до 5 звезди) и кратка похвала/критика.153        - регистрираните (логнатите) потребители могат да добавят своя оценка (от 1 до 5 звезди) и кратка похвала/критика.
146        154        
147    Система за рейтинг:155    Система за рейтинг:
148        - автоматично изчисляване на средния рейтинг за всеки фитнес въз основа на рецензиите от потребителите.156        - автоматично изчисляване на средния рейтинг за всеки фитнес въз основа на рецензиите от потребителите.
149        - сравнение на рейтингите на различните фитнеси.157        - сравнение на рейтингите на различните фитнеси.
150158
151    Филтри и търсене:159    Филтри и търсене:
152        - потребителите могат да търсят фитнеси на картата по критерии като:160        - потребителите могат да търсят фитнеси на картата по критерии като:
153            > рейтинг.161            > рейтинг.
154            > разстояние от текущото местоположение.162            > разстояние от текущото местоположение.
155        163        
156**[Milestones/Възлови точки]**164**[Milestones/Възлови точки]**
157    - Инициализация на проекта:165    - Инициализация на проекта:
158        - Създаване на нов Django проект и приложение.166        - Създаване на нов Django проект и приложение.
159        - Конфигуриране на PostgreSQL база данни чрез psycopg2.167        - Конфигуриране на PostgreSQL база данни чрез psycopg2.
160        - Настройка на Django Admin за управление на данните.168        - Настройка на Django Admin за управление на данните.
161    - Създаване на модели:169    - Създаване на модели:
162        - Модел за потребители: Използване на вградения User модел в Django.170        - Модел за потребители: Използване на вградения User модел в Django.
163        - Модел за тренировки: Полета: вид тренировка, продължителност, дата, потребител.171        - Модел за тренировки: Полета: вид тренировка, продължителност, дата, потребител.
164        - Модел за тегло: Полета: дата на измерване, тегло, потребител.172        - Модел за тегло: Полета: дата на измерване, тегло, потребител.
165        - Модел за упражнения: Полета: име, тагове (мускулни групи, ниво на трудност, оборудване, тип), YouTube линк.173        - Модел за упражнения: Полета: име, тагове (мускулни групи, ниво на трудност, оборудване, тип), YouTube линк.
166        - Модел за публикации и коментари в For You.174        - Модел за публикации и коментари в For You.
167    - CRUD функционалности за тренировки и тегло:175    - CRUD функционалности за тренировки и тегло:
168        - Създаване на изгледи за добавяне, редактиране и изтриване на записи.176        - Създаване на изгледи за добавяне, редактиране и изтриване на записи.
169        - Форми за валидиране на входните данни.177        - Форми за валидиране на входните данни.
170        - Списък с всички записи за тренировки и тегло.178        - Списък с всички записи за тренировки и тегло.
171    - Автентикация и ограничение на достъпа:179    - Автентикация и ограничение на достъпа:
172        - Регистрация, вход и изход за потребители с валидиране на данни.180        - Регистрация, вход и изход за потребители с валидиране на данни.
173        - Ограничаване на достъпа до функционалностите за логнати потребители.181        - Ограничаване на достъпа до функционалностите за логнати потребители.
174    - Frontend и визуализация:182    - Frontend и визуализация:
175        - Създаване на шаблони с Django templates.183        - Създаване на шаблони с Django templates.
176        - Интеграция на Bootstrap за създаване на удобен интерфейс.184        - Интеграция на Bootstrap за създаване на удобен интерфейс.
177        - Добавяне на графики за прогреса на теглото с Chart.js или Matplotlib.185        - Добавяне на графики за прогреса на теглото с Chart.js или Matplotlib.
178    - For You функционалности:186    - For You функционалности:
179        - Реализиране на функционалности за публикуване на постове, коментиране и харесване.187        - Реализиране на функционалности за публикуване на постове, коментиране и харесване.
180        - Визуализация на списък с постове.188        - Визуализация на списък с постове.
181        - Поддръжка на качване на медийни файлове.189        - Поддръжка на качване на медийни файлове.
182    - Известия и push нотификации:190    - Известия и push нотификации:
183        - Реализация на push известия и известия чрез имейл, включително използване на Django messages.191        - Реализация на push известия и известия чрез имейл, включително използване на Django messages.
184    - Разновидност от калкулатори:192    - Разновидност от калкулатори:
185        - изграждане на калкулатори:193        - изграждане на калкулатори:
186            > One-Rep Max (1RM) Калкулатор.194            > One-Rep Max (1RM) Калкулатор.
187            > BMI (Body Mass Index) Калкулатор.195            > BMI (Body Mass Index) Калкулатор.
188            > Калориен Калкулатор.196            > Калориен Калкулатор.
189            > Калкулатор за мазнини в тялото (Body Fat Percentage).197            > Калкулатор за мазнини в тялото (Body Fat Percentage).
190    - Страница с упражнения:198    - Страница с упражнения:
191            > Разработка на страница за разглеждане и организиране на упражнения.199            > Разработка на страница за разглеждане и организиране на упражнения.
192            > Добавяне на тагове за упражнения: мускулни групи, ниво на трудност, тип оборудване, видове упражнения.200            > Добавяне на тагове за упражнения: мускулни групи, ниво на трудност, тип оборудване, видове упражнения.
193            > Реализиране на функционалност за търсене, сортиране (A-Z или Z-A) и филтриране чрез тагове.201            > Реализиране на функционалност за търсене, сортиране (A-Z или Z-A) и филтриране чрез тагове.
194    -  Карта202    -  Карта
195            > Маркиране на фитнеси в радиус203            > Маркиране на фитнеси в радиус
196            > Рецензии204            > Рецензии
197            > Рейтинг система205            > Рейтинг система
198    206    
199**[Estimate in man-hours/Времеоценка в човекочасове]**207**[Estimate in man-hours/Времеоценка в човекочасове]**
200    - Инициализация на проекта (10 - 15 човекочаса).208    - Инициализация на проекта (10 - 15 човекочаса).
201    - Създаване на модели (10 - 15 човекочаса).209    - Създаване на модели (10 - 15 човекочаса).
202    - CRUD функционалности за тренировки и тегло (15- 20 човекочаса).210    - CRUD функционалности за тренировки и тегло (15- 20 човекочаса).
203    - Автентикация и ограничение на достъпа (10 - 15 човекочаса).211    - Автентикация и ограничение на достъпа (10 - 15 човекочаса).
204    - Frontend и визуализация (15 - 20 човекочаса).212    - Frontend и визуализация (15 - 20 човекочаса).
205    - For You функционалности (20 - 25 човекочаса).213    - For You функционалности (20 - 25 човекочаса).
206    - Известия и push нотификации (10 - 15 човекочаса).214    - Известия и push нотификации (10 - 15 човекочаса).
207    - Разновидност от калкулатори (5 - 10 човекочаса).215    - Разновидност от калкулатори (5 - 10 човекочаса).
208    - Страница с упражнения (15 - 20 човекочаса).216    - Страница с упражнения (15 - 20 човекочаса).
209    - Карта (25 - 30 човекочаса) (или 500 години). 217    - Карта (25 - 30 човекочаса) (или 500 години). 
210    - Тестване и завършване (15 - 20 човекочаса).218    - Тестване и завършване (15 - 20 човекочаса).
211219
212Общо време 125(150) - 175(205) човекочаса220Общо време 125(150) - 175(205) човекочаса
213221
214**[Usage of technologies/Потребление на технологии]**222**[Usage of technologies/Потребление на технологии]**
215    - **Backend**: Django (създаване на RESTful API за функционалностите).223    - **Backend**: Django (създаване на RESTful API за функционалностите).
216    - **База данни**: PostgreSQL.224    - **База данни**: PostgreSQL.
217    - **Frontend**:225    - **Frontend**:
218        - Django templates (генериране на HTML съдържание).226        - Django templates (генериране на HTML съдържание).
219        - Bootstrap (стилизация на интерфейса).227        - Bootstrap (стилизация на интерфейса).
220        - Chart.js или Matplotlib (визуализация на данни).228        - Chart.js или Matplotlib (визуализация на данни).
221    - **Библиотеки**:229    - **Библиотеки**:
222        - `psycopg2` (връзка между Django и PostgreSQL).230        - `psycopg2` (връзка между Django и PostgreSQL).
223        - Django messages (съобщения за успех/грешка).231        - Django messages (съобщения за успех/грешка).
224    - **Карта**:232    - **Карта**:
225        - Google Maps API233        - Google Maps API
226        - Google Places API234        - Google Places API
227"""235"""
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

f1"""f1"""
2Ново хайку, защото Виктор е сърдит:2Ново хайку, защото Виктор е сърдит:
33
4...- .-.. --.- --.. --- .... / ...- / --.. .- .-.. .- /4...- .-.. --.- --.. --- .... / ...- / --.. .- .-.. .- /
5-. .- / .--. .-. --- .--- . -.- - --- .-. / ... .--. .- -- / ... .--. .- -- / ... .--. .- -- /5-. .- / .--. .-. --- .--- . -.- - --- .-. / ... .--. .- -- / ... .--. .- -- / ... .--. .- -- /
6- .-. ..- --. -. .- .... / ... .. / --- - - .- --6- .-. ..- --. -. .- .... / ... .. / --- - - .- --
77
8**[Title/Звание]**8**[Title/Звание]**
9Shredded Monty Python9Shredded Monty Python
1010
11**[Description/Обрисовка]**11**[Description/Обрисовка]**
12Никой не иска да е слаб колкото “Виктор Бечев” - име свързано с криминални престъпления по целия свят и обявен за международно 12Никой не иска да е слаб колкото “Виктор Бечев” - име свързано с криминални престъпления по целия свят и обявен за международно 
13издирване или да дава гадни домашни с още по-невъзможни тестове, в които слага снимки, на които иронично бърка цимент, за 13издирване или да дава гадни домашни с още по-невъзможни тестове, в които слага снимки, на които иронично бърка цимент, за 
14да ни се подиграва на пътя, който ще изберем след тази избираема дисциплина - “Георги Кунчев”. Чу ли, Жорка, r"^gadni\b" домашни.14да ни се подиграва на пътя, който ще изберем след тази избираема дисциплина - “Георги Кунчев”. Чу ли, Жорка, r"^gadni\b" домашни.
1515
16Всички тези житейски проблеми, обгърнали битието на студентите, следващи във ФМИ, са решени благодарение на 16Всички тези житейски проблеми, обгърнали битието на студентите, следващи във ФМИ, са решени благодарение на 
17Shredded Monty Python (не знам как ги решава). Това е уеб приложение, идеята зад което е да помогне на хората 17Shredded Monty Python (не знам как ги решава). Това е уеб приложение, идеята зад което е да помогне на хората 
18да постигнат своите фитнес цели, като предостави удобен и ефективен начин за проследяване на тренировките и 18да постигнат своите фитнес цели, като предостави удобен и ефективен начин за проследяване на тренировките и 
19физическия прогрес. Чрез лесен за използване интерфейс потребителите могат да записват своите тренировки, 19физическия прогрес. Чрез лесен за използване интерфейс потребителите могат да записват своите тренировки, 
20да следят промените в теглото и телесните си измервания и да следят своето развитие. Всеки потребител ще може 20да следят промените в теглото и телесните си измервания и да следят своето развитие. Всеки потребител ще може 
21да сподели прогреса си с останалите потребители, което подсказва една от основните цели на платформата - 21да сподели прогреса си с останалите потребители, което подсказва една от основните цели на платформата - 
22да създаде целеустремена, взаимноподкрепяща се общност.22да създаде целеустремена, взаимноподкрепяща се общност.
2323
24**[Functionalities/Надарености]**24**[Functionalities/Надарености]**
251. **Потребителски профил**:251. **Потребителски профил**:
26   26   
27    Регистрация - потребителят трябва да се регистрира преди използването на функционалностите на платформата.27    Регистрация - потребителят трябва да се регистрира преди използването на функционалностите на платформата.
28    Форма за регистрация:28    Форма за регистрация:
29        - Потребителите трябва да попълнят форма с основна информация минимални изисквания за сигурност като:29        - Потребителите трябва да попълнят форма с основна информация минимални изисквания за сигурност като:
30          - име и фамилия30          - име и фамилия
31          - имейл адрес - трябва да се валидира дали имейлът вече е използван31          - имейл адрес - трябва да се валидира дали имейлът вече е използван
32          - парола32          - парола
33   33   
34    Вход - потребителят трябва да влезе в профила си, ако вече се е регистрирал.34    Вход - потребителят трябва да влезе в профила си, ако вече се е регистрирал.
35    Форма за вход:35    Форма за вход:
36        - имейл адрес36        - имейл адрес
37        - парола37        - парола
38   38   
39    Личен профил с информация за тренировки и тегло:39    Личен профил с информация за тренировки и тегло:
40        - Приложението дава възможност на потребителите да създадат собствени рутинни програми, които са изградени според 40        - Приложението дава възможност на потребителите да създадат собствени рутинни програми, които са изградени според 
41          различни фитнес цели – загуба на тегло, изграждане на мускулна маса, подобряване на издръжливостта и други.41          различни фитнес цели – загуба на тегло, изграждане на мускулна маса, подобряване на издръжливостта и други.
4242
432. **Администраторски профил**:432. **Администраторски профил**:
44    - Администраторът трябва да има достъп до всички функционалности, до които обикновения потребител има достъп.44    - Администраторът трябва да има достъп до всички функционалности, до които обикновения потребител има достъп.
45    - Администраторът трябва да може да сменя пароли на обикновените потребители, техните имейли и дори да ги изтрива 45    - Администраторът трябва да може да сменя пароли на обикновените потребители, техните имейли и дори да ги изтрива 
46      напълно.46      напълно.
47    - Администраторът трябва да може да трие постове, с цел да се запази адекватно ниво на цензура.47    - Администраторът трябва да може да трие постове, с цел да се запази адекватно ниво на цензура.
48    - Администраторът трябва да може да изпраща имейл лично (негенериран) до даден потребител, ако това е необходимо.48    - Администраторът трябва да може да изпраща имейл лично (негенериран) до даден потребител, ако това е необходимо.
49    - Администраторът трябва да може да добавя нови упражнения в pool-a и да редактира предишните49    - Администраторът трябва да може да добавя нови упражнения в pool-a и да редактира предишните
50    - Администраторът е готин.50    - Администраторът е готин.
5151
523. **Тренировки**:523. **Тренировки**:
53    - Възможност за добавяне на нова тренировка с полета:53    - Възможност за добавяне на нова тренировка с полета:
54    54    
55        - Логнатият потребител трябва да може да създаде своя тренировка, като попълни необходимата форма за 55        - Логнатият потребител трябва да може да създаде своя тренировка, като попълни необходимата форма за 
56          създаване на такава.56          създаване на такава.
57        57        
58        Формата ще съдържа:58        Формата ще съдържа:
59            - Вид на тренировката (например кардио, силова тренировка, йога).59            - Вид на тренировката (например кардио, силова тренировка, йога).
60            - Продължителност в минути.60            - Продължителност в минути.
61            - Дата на провеждане.61            - Дата на провеждане.
62    62    
63    - Преглед на всички записани тренировки в табличен формат:63    - Преглед на всички записани тренировки в табличен формат:
64        - Логнатият потребител трябва да може да види всички свои записани тренировки в табличен формат.64        - Логнатият потребител трябва да може да види всички свои записани тренировки в табличен формат.
65    - Редактиране и изтриване на записани тренировки:65    - Редактиране и изтриване на записани тренировки:
66        - Логнатият потребител трябва да може да редактира и изтрива своите записани тренировки.66        - Логнатият потребител трябва да може да редактира и изтрива своите записани тренировки.
6767
684. **Проследяване на тегло**:684. **Проследяване на тегло**:
69    - Добавяне на запис за тегло с дата на измерване:69    - Добавяне на запис за тегло с дата на измерване:
70        - Логнатият потребител трябва да може да добавя запис за теглото си в даден ден, като може да го запише в 70        - Логнатият потребител трябва да може да добавя запис за теглото си в даден ден, като може да го запише в 
71          килограми или паундове.71          килограми или паундове.
72    - Преглед на всички записи в таблица:72    - Преглед на всички записи в таблица:
73        - Логнатият потребител трябва да може да види всички свои записани измервания в табличен формат.73        - Логнатият потребител трябва да може да види всички свои записани измервания в табличен формат.
74    - Генериране на графика за промяната на теглото с времето:74    - Генериране на графика за промяната на теглото с времето:
75        - Логнатият потребител трябва да може да види графика, илюстрираща теглото му във времето.75        - Логнатият потребител трябва да може да види графика, илюстрираща теглото му във времето.
7676
775. **Графики и визуализации**:775. **Графики и визуализации**:
78    - Графика за напредъка на теглото (тегло спрямо време).78    - Графика за напредъка на теглото (тегло спрямо време).
79    - Визуализация на напредъка на потребителя спрямо сила.79    - Визуализация на напредъка на потребителя спрямо сила.
8080
816. **Известия**:816. **Известия**:
82    - Известия за успешно добавяне, редактиране или изтриване на данни чрез Django messages.82    - Известия за успешно добавяне, редактиране или изтриване на данни чрез Django messages.
83    - Приложението предлага статистики по имейл (текущ месец/предходен месец), които дават визуална представа за 83    - Приложението предлага статистики по имейл (текущ месец/предходен месец), които дават визуална представа за 
84      постигнатия напредък.84      постигнатия напредък.
85    - Push Notifications - с цитати на готини хора, напр.: “Аз няма да пия” ~Костадин Русалов.85    - Push Notifications - с цитати на готини хора, напр.: “Аз няма да пия” ~Костадин Русалов.
8686
877. For You - интерактивно пространство в приложението, където потребителите могат да се свързват, да споделят своя опит и да 877. For You - интерактивно пространство в приложението, където потребителите могат да се свързват, да споделят своя опит и да 
88   участват в активни дискусии, свързани с техните фитнес цели и постижения.88   участват в активни дискусии, свързани с техните фитнес цели и постижения.
89    Какво предоставя For You:89    Какво предоставя For You:
90        - Публикуване на постове:90        - Публикуване на постове:
91            - Потребителите могат да създават свои постове, в които да споделят мотивационни истории, съвети за тренировки, 91            - Потребителите могат да създават свои постове, в които да споделят мотивационни истории, съвети за тренировки, 
92              въпроси или просто вдъхновяващи моменти от личното си фитнес пътуване (текст, снимки, клипове).92              въпроси или просто вдъхновяващи моменти от личното си фитнес пътуване (текст, снимки, клипове).
93        - Харесване и коментиране:93        - Харесване и коментиране:
94            - Всяка публикация може да бъде харесвана от други потребители, като по този начин се създава чувство на подкрепа 94            - Всяка публикация може да бъде харесвана от други потребители, като по този начин се създава чувство на подкрепа 
95              и мотивация в общността.95              и мотивация в общността.
96        - Водене на дискусии:96        - Водене на дискусии:
97            - For You е място за открити и вдъхновяващи дискусии.97            - For You е място за открити и вдъхновяващи дискусии.
98            98            
998. Разновидност от калкулатори - страница от платформата, в която потребителят ще може да се възползва от набор от калкулатори,998. Разновидност от калкулатори - страница от платформата, в която потребителят ще може да се възползва от набор от калкулатори,
100    с помощта на които може да получи нужна за него информация100    с помощта на които може да получи нужна за него информация
101        - 1. One-Rep Max (1RM) Калкулатор - позволява на потребителите да изчислят максималната тежест, която могат да повдигнат101        - 1. One-Rep Max (1RM) Калкулатор - позволява на потребителите да изчислят максималната тежест, която могат да повдигнат
102    за едно повторение, базирано на текущата им тежест и брой повторения.102    за едно повторение, базирано на текущата им тежест и брой повторения.
103        - 2. BMI (Body Mass Index) Калкулатор - калкулатор за телесна маса, който определя дали потребителят е поднормено тегло, нормално тегло, 103        - 2. BMI (Body Mass Index) Калкулатор - калкулатор за телесна маса, който определя дали потребителят е поднормено тегло, нормално тегло, 
104    наднормено тегло или със затлъстяване104    наднормено тегло или със затлъстяване
105        - 3. Калориен Калкулатор - позволява да се определят колко калории са необходими за поддържане на текущото тегло, базирано на активността.105        - 3. Калориен Калкулатор - позволява да се определят колко калории са необходими за поддържане на текущото тегло, базирано на активността.
106        - 4. Калкулатор за мазнини в тялото (Body Fat Percentage) - изчислява процента телесни мазнини, базирано на обиколки на тялото.        106        - 4. Калкулатор за мазнини в тялото (Body Fat Percentage) - изчислява процента телесни мазнини, базирано на обиколки на тялото.        
107107
1089. Страница с упражнения - Shredded Monty Python ще включва страница с различни упражнения, която позволява на потребителите да разглеждат и организира1089. Страница с упражнения - Shredded Monty Python ще включва страница с различни упражнения, която позволява на потребителите да разглеждат и организира
109    тренировките си по удобен и интуитивен начин.109    тренировките си по удобен и интуитивен начин.
110110
111    Функционалности на страницата с упражнения:111    Функционалности на страницата с упражнения:
112        1. Тагове за упражнения:112        1. Тагове за упражнения:
113            - видове тагове:113            - видове тагове:
114                > мускулни групи: "back", "chest", "legs", "arms", "core".114                > мускулни групи: "back", "chest", "legs", "arms", "core".
115                > ниво на трудност: "beginner", "intermediate", "advanced".115                > ниво на трудност: "beginner", "intermediate", "advanced".
116                > оборудване: "barbell", "dumbbells", "bodyweight", "resistance bands".116                > оборудване: "barbell", "dumbbells", "bodyweight", "resistance bands".
117                > тип на упражнението: "strength", "crossfit" (тагът ще бъде баннат предварително), "cardio", "functional training".117                > тип на упражнението: "strength", "crossfit" (тагът ще бъде баннат предварително), "cardio", "functional training".
118118
119            - всяко упражнение ще бъде категоризирано с един или повече тагове:119            - всяко упражнение ще бъде категоризирано с един или повече тагове:
120            - тагове ще позволяват лесно търсене и филтриране.120            - тагове ще позволяват лесно търсене и филтриране.
121        121        
122        2. Сортиране:122        2. Сортиране:
123            - азбучен ред (A-Z или Z-A).123            - азбучен ред (A-Z или Z-A).
124            - ниво на трудност: "beginner", "intermediate", "advanced".124            - ниво на трудност: "beginner", "intermediate", "advanced".
125125
126        3. Филтриране126        3. Филтриране
127            - потребителите ще могат да филтрират упражненията чрез таговете, което ще улесни намирането на подходящи упражнения за техните нужди.127            - потребителите ще могат да филтрират упражненията чрез таговете, което ще улесни намирането на подходящи упражнения за техните нужди.
128        128        
129        4. Формите на упражненията освен тагове и име на упражнението, ще включват и YouTube линкове към съответното упражнение, за да може да се визуализира129        4. Формите на упражненията освен тагове и име на упражнението, ще включват и YouTube линкове към съответното упражнение, за да може да се визуализира
130        лесно начина му на изпълнение на потребителя130        лесно начина му на изпълнение на потребителя
131131
n132    10. (ако все още имам проблеми с визуализация > логика)n13210. (ако все още имам проблеми с визуализация > логика)
133        133        
n134        Карта с фитнеси в близост до потребителя:n134    Карта с фитнеси в близост до потребителя:
135            - платформата ще поддържа карта, която използва текущото местоположение на потребителя и поддържа.135        - платформата ще поддържа карта, която използва текущото местоположение на потребителя и поддържа.
136                > автоматично намиране на фитнеси в радиус от 5км136            > автоматично намиране на фитнеси в радиус от 5км
137                > маркери за всеки фитнес с информация като име, адрес и рейтинг.137            > маркери за всеки фитнес с информация като име, адрес и рейтинг.
138        138        
n139        Преглед на рецензии:n139    Преглед на рецензии:
140            - всяко място ще има секция за рецензии, където потребителите могат:140        - всяко място ще има секция за рецензии, където потребителите могат:
141                > да виждат съществуващи рецензии (ако се използва Google Places, рецензиите ще бъдат интегрирани директно).141            > да виждат съществуващи рецензии (ако се използва Google Places, рецензиите ще бъдат интегрирани директно).
142                > да добавят свои рецензии за съответния фитнес.142            > да добавят свои рецензии за съответния фитнес.
143143
n144        Добавяне на рецензии:n144    Добавяне на рецензии:
145            - регистрираните (логнатите) потребители могат да добавят своя оценка (от 1 до 5 звезди) и кратка похвала/критика.145        - регистрираните (логнатите) потребители могат да добавят своя оценка (от 1 до 5 звезди) и кратка похвала/критика.
146        146        
n147        Система за рейтинг:n147    Система за рейтинг:
148            - автоматично изчисляване на средния рейтинг за всеки фитнес въз основа на рецензиите от потребителите.148        - автоматично изчисляване на средния рейтинг за всеки фитнес въз основа на рецензиите от потребителите.
149            - сравнение на рейтингите на различните фитнеси.149        - сравнение на рейтингите на различните фитнеси.
150150
t151        Филтри и търсене:t151    Филтри и търсене:
152            - потребителите могат да търсят фитнеси на картата по критерии като:152        - потребителите могат да търсят фитнеси на картата по критерии като:
153                > рейтинг.153            > рейтинг.
154                > разстояние от текущото местоположение.154            > разстояние от текущото местоположение.
155        155        
156**[Milestones/Възлови точки]**156**[Milestones/Възлови точки]**
157    - Инициализация на проекта:157    - Инициализация на проекта:
158        - Създаване на нов Django проект и приложение.158        - Създаване на нов Django проект и приложение.
159        - Конфигуриране на PostgreSQL база данни чрез psycopg2.159        - Конфигуриране на PostgreSQL база данни чрез psycopg2.
160        - Настройка на Django Admin за управление на данните.160        - Настройка на Django Admin за управление на данните.
161    - Създаване на модели:161    - Създаване на модели:
162        - Модел за потребители: Използване на вградения User модел в Django.162        - Модел за потребители: Използване на вградения User модел в Django.
163        - Модел за тренировки: Полета: вид тренировка, продължителност, дата, потребител.163        - Модел за тренировки: Полета: вид тренировка, продължителност, дата, потребител.
164        - Модел за тегло: Полета: дата на измерване, тегло, потребител.164        - Модел за тегло: Полета: дата на измерване, тегло, потребител.
165        - Модел за упражнения: Полета: име, тагове (мускулни групи, ниво на трудност, оборудване, тип), YouTube линк.165        - Модел за упражнения: Полета: име, тагове (мускулни групи, ниво на трудност, оборудване, тип), YouTube линк.
166        - Модел за публикации и коментари в For You.166        - Модел за публикации и коментари в For You.
167    - CRUD функционалности за тренировки и тегло:167    - CRUD функционалности за тренировки и тегло:
168        - Създаване на изгледи за добавяне, редактиране и изтриване на записи.168        - Създаване на изгледи за добавяне, редактиране и изтриване на записи.
169        - Форми за валидиране на входните данни.169        - Форми за валидиране на входните данни.
170        - Списък с всички записи за тренировки и тегло.170        - Списък с всички записи за тренировки и тегло.
171    - Автентикация и ограничение на достъпа:171    - Автентикация и ограничение на достъпа:
172        - Регистрация, вход и изход за потребители с валидиране на данни.172        - Регистрация, вход и изход за потребители с валидиране на данни.
173        - Ограничаване на достъпа до функционалностите за логнати потребители.173        - Ограничаване на достъпа до функционалностите за логнати потребители.
174    - Frontend и визуализация:174    - Frontend и визуализация:
175        - Създаване на шаблони с Django templates.175        - Създаване на шаблони с Django templates.
176        - Интеграция на Bootstrap за създаване на удобен интерфейс.176        - Интеграция на Bootstrap за създаване на удобен интерфейс.
177        - Добавяне на графики за прогреса на теглото с Chart.js или Matplotlib.177        - Добавяне на графики за прогреса на теглото с Chart.js или Matplotlib.
178    - For You функционалности:178    - For You функционалности:
179        - Реализиране на функционалности за публикуване на постове, коментиране и харесване.179        - Реализиране на функционалности за публикуване на постове, коментиране и харесване.
180        - Визуализация на списък с постове.180        - Визуализация на списък с постове.
181        - Поддръжка на качване на медийни файлове.181        - Поддръжка на качване на медийни файлове.
182    - Известия и push нотификации:182    - Известия и push нотификации:
183        - Реализация на push известия и известия чрез имейл, включително използване на Django messages.183        - Реализация на push известия и известия чрез имейл, включително използване на Django messages.
184    - Разновидност от калкулатори:184    - Разновидност от калкулатори:
185        - изграждане на калкулатори:185        - изграждане на калкулатори:
186            > One-Rep Max (1RM) Калкулатор.186            > One-Rep Max (1RM) Калкулатор.
187            > BMI (Body Mass Index) Калкулатор.187            > BMI (Body Mass Index) Калкулатор.
188            > Калориен Калкулатор.188            > Калориен Калкулатор.
189            > Калкулатор за мазнини в тялото (Body Fat Percentage).189            > Калкулатор за мазнини в тялото (Body Fat Percentage).
190    - Страница с упражнения:190    - Страница с упражнения:
191            > Разработка на страница за разглеждане и организиране на упражнения.191            > Разработка на страница за разглеждане и организиране на упражнения.
192            > Добавяне на тагове за упражнения: мускулни групи, ниво на трудност, тип оборудване, видове упражнения.192            > Добавяне на тагове за упражнения: мускулни групи, ниво на трудност, тип оборудване, видове упражнения.
193            > Реализиране на функционалност за търсене, сортиране (A-Z или Z-A) и филтриране чрез тагове.193            > Реализиране на функционалност за търсене, сортиране (A-Z или Z-A) и филтриране чрез тагове.
194    -  Карта194    -  Карта
195            > Маркиране на фитнеси в радиус195            > Маркиране на фитнеси в радиус
196            > Рецензии196            > Рецензии
197            > Рейтинг система197            > Рейтинг система
198    198    
199**[Estimate in man-hours/Времеоценка в човекочасове]**199**[Estimate in man-hours/Времеоценка в човекочасове]**
200    - Инициализация на проекта (10 - 15 човекочаса).200    - Инициализация на проекта (10 - 15 човекочаса).
201    - Създаване на модели (10 - 15 човекочаса).201    - Създаване на модели (10 - 15 човекочаса).
202    - CRUD функционалности за тренировки и тегло (15- 20 човекочаса).202    - CRUD функционалности за тренировки и тегло (15- 20 човекочаса).
203    - Автентикация и ограничение на достъпа (10 - 15 човекочаса).203    - Автентикация и ограничение на достъпа (10 - 15 човекочаса).
204    - Frontend и визуализация (15 - 20 човекочаса).204    - Frontend и визуализация (15 - 20 човекочаса).
205    - For You функционалности (20 - 25 човекочаса).205    - For You функционалности (20 - 25 човекочаса).
206    - Известия и push нотификации (10 - 15 човекочаса).206    - Известия и push нотификации (10 - 15 човекочаса).
207    - Разновидност от калкулатори (5 - 10 човекочаса).207    - Разновидност от калкулатори (5 - 10 човекочаса).
208    - Страница с упражнения (15 - 20 човекочаса).208    - Страница с упражнения (15 - 20 човекочаса).
209    - Карта (25 - 30 човекочаса) (или 500 години). 209    - Карта (25 - 30 човекочаса) (или 500 години). 
210    - Тестване и завършване (15 - 20 човекочаса).210    - Тестване и завършване (15 - 20 човекочаса).
211211
212Общо време 125(150) - 175(205) човекочаса212Общо време 125(150) - 175(205) човекочаса
213213
214**[Usage of technologies/Потребление на технологии]**214**[Usage of technologies/Потребление на технологии]**
215    - **Backend**: Django (създаване на RESTful API за функционалностите).215    - **Backend**: Django (създаване на RESTful API за функционалностите).
216    - **База данни**: PostgreSQL.216    - **База данни**: PostgreSQL.
217    - **Frontend**:217    - **Frontend**:
218        - Django templates (генериране на HTML съдържание).218        - Django templates (генериране на HTML съдържание).
219        - Bootstrap (стилизация на интерфейса).219        - Bootstrap (стилизация на интерфейса).
220        - Chart.js или Matplotlib (визуализация на данни).220        - Chart.js или Matplotlib (визуализация на данни).
221    - **Библиотеки**:221    - **Библиотеки**:
222        - `psycopg2` (връзка между Django и PostgreSQL).222        - `psycopg2` (връзка между Django и PostgreSQL).
223        - Django messages (съобщения за успех/грешка).223        - Django messages (съобщения за успех/грешка).
224    - **Карта**:224    - **Карта**:
225        - Google Maps API225        - Google Maps API
226        - Google Places API226        - Google Places API
227"""227"""
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

f1"""f1"""
2Ново хайку, защото Виктор е сърдит:2Ново хайку, защото Виктор е сърдит:
33
4...- .-.. --.- --.. --- .... / ...- / --.. .- .-.. .- /4...- .-.. --.- --.. --- .... / ...- / --.. .- .-.. .- /
5-. .- / .--. .-. --- .--- . -.- - --- .-. / ... .--. .- -- / ... .--. .- -- / ... .--. .- -- /5-. .- / .--. .-. --- .--- . -.- - --- .-. / ... .--. .- -- / ... .--. .- -- / ... .--. .- -- /
6- .-. ..- --. -. .- .... / ... .. / --- - - .- --6- .-. ..- --. -. .- .... / ... .. / --- - - .- --
77
8**[Title/Звание]**8**[Title/Звание]**
9Shredded Monty Python9Shredded Monty Python
1010
11**[Description/Обрисовка]**11**[Description/Обрисовка]**
12Никой не иска да е слаб колкото “Виктор Бечев” - име свързано с криминални престъпления по целия свят и обявен за международно 12Никой не иска да е слаб колкото “Виктор Бечев” - име свързано с криминални престъпления по целия свят и обявен за международно 
13издирване или да дава гадни домашни с още по-невъзможни тестове, в които слага снимки, на които иронично бърка цимент, за 13издирване или да дава гадни домашни с още по-невъзможни тестове, в които слага снимки, на които иронично бърка цимент, за 
14да ни се подиграва на пътя, който ще изберем след тази избираема дисциплина - “Георги Кунчев”. Чу ли, Жорка, r"^gadni\b" домашни.14да ни се подиграва на пътя, който ще изберем след тази избираема дисциплина - “Георги Кунчев”. Чу ли, Жорка, r"^gadni\b" домашни.
1515
16Всички тези житейски проблеми, обгърнали битието на студентите, следващи във ФМИ, са решени благодарение на 16Всички тези житейски проблеми, обгърнали битието на студентите, следващи във ФМИ, са решени благодарение на 
17Shredded Monty Python (не знам как ги решава). Това е уеб приложение, идеята зад което е да помогне на хората 17Shredded Monty Python (не знам как ги решава). Това е уеб приложение, идеята зад което е да помогне на хората 
18да постигнат своите фитнес цели, като предостави удобен и ефективен начин за проследяване на тренировките и 18да постигнат своите фитнес цели, като предостави удобен и ефективен начин за проследяване на тренировките и 
19физическия прогрес. Чрез лесен за използване интерфейс потребителите могат да записват своите тренировки, 19физическия прогрес. Чрез лесен за използване интерфейс потребителите могат да записват своите тренировки, 
20да следят промените в теглото и телесните си измервания и да следят своето развитие. Всеки потребител ще може 20да следят промените в теглото и телесните си измервания и да следят своето развитие. Всеки потребител ще може 
21да сподели прогреса си с останалите потребители, което подсказва една от основните цели на платформата - 21да сподели прогреса си с останалите потребители, което подсказва една от основните цели на платформата - 
22да създаде целеустремена, взаимноподкрепяща се общност.22да създаде целеустремена, взаимноподкрепяща се общност.
2323
24**[Functionalities/Надарености]**24**[Functionalities/Надарености]**
251. **Потребителски профил**:251. **Потребителски профил**:
26   26   
27    Регистрация - потребителят трябва да се регистрира преди използването на функционалностите на платформата.27    Регистрация - потребителят трябва да се регистрира преди използването на функционалностите на платформата.
28    Форма за регистрация:28    Форма за регистрация:
29        - Потребителите трябва да попълнят форма с основна информация минимални изисквания за сигурност като:29        - Потребителите трябва да попълнят форма с основна информация минимални изисквания за сигурност като:
30          - име и фамилия30          - име и фамилия
31          - имейл адрес - трябва да се валидира дали имейлът вече е използван31          - имейл адрес - трябва да се валидира дали имейлът вече е използван
32          - парола32          - парола
33   33   
34    Вход - потребителят трябва да влезе в профила си, ако вече се е регистрирал.34    Вход - потребителят трябва да влезе в профила си, ако вече се е регистрирал.
35    Форма за вход:35    Форма за вход:
36        - имейл адрес36        - имейл адрес
37        - парола37        - парола
38   38   
39    Личен профил с информация за тренировки и тегло:39    Личен профил с информация за тренировки и тегло:
40        - Приложението дава възможност на потребителите да създадат собствени рутинни програми, които са изградени според 40        - Приложението дава възможност на потребителите да създадат собствени рутинни програми, които са изградени според 
41          различни фитнес цели – загуба на тегло, изграждане на мускулна маса, подобряване на издръжливостта и други.41          различни фитнес цели – загуба на тегло, изграждане на мускулна маса, подобряване на издръжливостта и други.
4242
432. **Администраторски профил**:432. **Администраторски профил**:
44    - Администраторът трябва да има достъп до всички функционалности, до които обикновения потребител има достъп.44    - Администраторът трябва да има достъп до всички функционалности, до които обикновения потребител има достъп.
45    - Администраторът трябва да може да сменя пароли на обикновените потребители, техните имейли и дори да ги изтрива 45    - Администраторът трябва да може да сменя пароли на обикновените потребители, техните имейли и дори да ги изтрива 
46      напълно.46      напълно.
47    - Администраторът трябва да може да трие постове, с цел да се запази адекватно ниво на цензура.47    - Администраторът трябва да може да трие постове, с цел да се запази адекватно ниво на цензура.
48    - Администраторът трябва да може да изпраща имейл лично (негенериран) до даден потребител, ако това е необходимо.48    - Администраторът трябва да може да изпраща имейл лично (негенериран) до даден потребител, ако това е необходимо.
49    - Администраторът трябва да може да добавя нови упражнения в pool-a и да редактира предишните49    - Администраторът трябва да може да добавя нови упражнения в pool-a и да редактира предишните
50    - Администраторът е готин.50    - Администраторът е готин.
5151
523. **Тренировки**:523. **Тренировки**:
53    - Възможност за добавяне на нова тренировка с полета:53    - Възможност за добавяне на нова тренировка с полета:
54    54    
55        - Логнатият потребител трябва да може да създаде своя тренировка, като попълни необходимата форма за 55        - Логнатият потребител трябва да може да създаде своя тренировка, като попълни необходимата форма за 
56          създаване на такава.56          създаване на такава.
57        57        
58        Формата ще съдържа:58        Формата ще съдържа:
59            - Вид на тренировката (например кардио, силова тренировка, йога).59            - Вид на тренировката (например кардио, силова тренировка, йога).
60            - Продължителност в минути.60            - Продължителност в минути.
61            - Дата на провеждане.61            - Дата на провеждане.
62    62    
63    - Преглед на всички записани тренировки в табличен формат:63    - Преглед на всички записани тренировки в табличен формат:
64        - Логнатият потребител трябва да може да види всички свои записани тренировки в табличен формат.64        - Логнатият потребител трябва да може да види всички свои записани тренировки в табличен формат.
65    - Редактиране и изтриване на записани тренировки:65    - Редактиране и изтриване на записани тренировки:
66        - Логнатият потребител трябва да може да редактира и изтрива своите записани тренировки.66        - Логнатият потребител трябва да може да редактира и изтрива своите записани тренировки.
6767
684. **Проследяване на тегло**:684. **Проследяване на тегло**:
69    - Добавяне на запис за тегло с дата на измерване:69    - Добавяне на запис за тегло с дата на измерване:
70        - Логнатият потребител трябва да може да добавя запис за теглото си в даден ден, като може да го запише в 70        - Логнатият потребител трябва да може да добавя запис за теглото си в даден ден, като може да го запише в 
71          килограми или паундове.71          килограми или паундове.
72    - Преглед на всички записи в таблица:72    - Преглед на всички записи в таблица:
73        - Логнатият потребител трябва да може да види всички свои записани измервания в табличен формат.73        - Логнатият потребител трябва да може да види всички свои записани измервания в табличен формат.
74    - Генериране на графика за промяната на теглото с времето:74    - Генериране на графика за промяната на теглото с времето:
75        - Логнатият потребител трябва да може да види графика, илюстрираща теглото му във времето.75        - Логнатият потребител трябва да може да види графика, илюстрираща теглото му във времето.
7676
775. **Графики и визуализации**:775. **Графики и визуализации**:
78    - Графика за напредъка на теглото (тегло спрямо време).78    - Графика за напредъка на теглото (тегло спрямо време).
79    - Визуализация на напредъка на потребителя спрямо сила.79    - Визуализация на напредъка на потребителя спрямо сила.
8080
816. **Известия**:816. **Известия**:
82    - Известия за успешно добавяне, редактиране или изтриване на данни чрез Django messages.82    - Известия за успешно добавяне, редактиране или изтриване на данни чрез Django messages.
83    - Приложението предлага статистики по имейл (текущ месец/предходен месец), които дават визуална представа за 83    - Приложението предлага статистики по имейл (текущ месец/предходен месец), които дават визуална представа за 
84      постигнатия напредък.84      постигнатия напредък.
85    - Push Notifications - с цитати на готини хора, напр.: “Аз няма да пия” ~Костадин Русалов.85    - Push Notifications - с цитати на готини хора, напр.: “Аз няма да пия” ~Костадин Русалов.
8686
877. For You - интерактивно пространство в приложението, където потребителите могат да се свързват, да споделят своя опит и да 877. For You - интерактивно пространство в приложението, където потребителите могат да се свързват, да споделят своя опит и да 
88   участват в активни дискусии, свързани с техните фитнес цели и постижения.88   участват в активни дискусии, свързани с техните фитнес цели и постижения.
89    Какво предоставя For You:89    Какво предоставя For You:
90        - Публикуване на постове:90        - Публикуване на постове:
91            - Потребителите могат да създават свои постове, в които да споделят мотивационни истории, съвети за тренировки, 91            - Потребителите могат да създават свои постове, в които да споделят мотивационни истории, съвети за тренировки, 
92              въпроси или просто вдъхновяващи моменти от личното си фитнес пътуване (текст, снимки, клипове).92              въпроси или просто вдъхновяващи моменти от личното си фитнес пътуване (текст, снимки, клипове).
93        - Харесване и коментиране:93        - Харесване и коментиране:
94            - Всяка публикация може да бъде харесвана от други потребители, като по този начин се създава чувство на подкрепа 94            - Всяка публикация може да бъде харесвана от други потребители, като по този начин се създава чувство на подкрепа 
95              и мотивация в общността.95              и мотивация в общността.
96        - Водене на дискусии:96        - Водене на дискусии:
97            - For You е място за открити и вдъхновяващи дискусии.97            - For You е място за открити и вдъхновяващи дискусии.
98            98            
998. Разновидност от калкулатори - страница от платформата, в която потребителят ще може да се възползва от набор от калкулатори,998. Разновидност от калкулатори - страница от платформата, в която потребителят ще може да се възползва от набор от калкулатори,
100    с помощта на които може да получи нужна за него информация100    с помощта на които може да получи нужна за него информация
101        - 1. One-Rep Max (1RM) Калкулатор - позволява на потребителите да изчислят максималната тежест, която могат да повдигнат101        - 1. One-Rep Max (1RM) Калкулатор - позволява на потребителите да изчислят максималната тежест, която могат да повдигнат
102    за едно повторение, базирано на текущата им тежест и брой повторения.102    за едно повторение, базирано на текущата им тежест и брой повторения.
103        - 2. BMI (Body Mass Index) Калкулатор - калкулатор за телесна маса, който определя дали потребителят е поднормено тегло, нормално тегло, 103        - 2. BMI (Body Mass Index) Калкулатор - калкулатор за телесна маса, който определя дали потребителят е поднормено тегло, нормално тегло, 
104    наднормено тегло или със затлъстяване104    наднормено тегло или със затлъстяване
105        - 3. Калориен Калкулатор - позволява да се определят колко калории са необходими за поддържане на текущото тегло, базирано на активността.105        - 3. Калориен Калкулатор - позволява да се определят колко калории са необходими за поддържане на текущото тегло, базирано на активността.
106        - 4. Калкулатор за мазнини в тялото (Body Fat Percentage) - изчислява процента телесни мазнини, базирано на обиколки на тялото.        106        - 4. Калкулатор за мазнини в тялото (Body Fat Percentage) - изчислява процента телесни мазнини, базирано на обиколки на тялото.        
107107
1089. Страница с упражнения - Shredded Monty Python ще включва страница с различни упражнения, която позволява на потребителите да разглеждат и организира1089. Страница с упражнения - Shredded Monty Python ще включва страница с различни упражнения, която позволява на потребителите да разглеждат и организира
109    тренировките си по удобен и интуитивен начин.109    тренировките си по удобен и интуитивен начин.
110110
111    Функционалности на страницата с упражнения:111    Функционалности на страницата с упражнения:
112        1. Тагове за упражнения:112        1. Тагове за упражнения:
113            - видове тагове:113            - видове тагове:
114                > мускулни групи: "back", "chest", "legs", "arms", "core".114                > мускулни групи: "back", "chest", "legs", "arms", "core".
115                > ниво на трудност: "beginner", "intermediate", "advanced".115                > ниво на трудност: "beginner", "intermediate", "advanced".
116                > оборудване: "barbell", "dumbbells", "bodyweight", "resistance bands".116                > оборудване: "barbell", "dumbbells", "bodyweight", "resistance bands".
117                > тип на упражнението: "strength", "crossfit" (тагът ще бъде баннат предварително), "cardio", "functional training".117                > тип на упражнението: "strength", "crossfit" (тагът ще бъде баннат предварително), "cardio", "functional training".
118118
119            - всяко упражнение ще бъде категоризирано с един или повече тагове:119            - всяко упражнение ще бъде категоризирано с един или повече тагове:
120            - тагове ще позволяват лесно търсене и филтриране.120            - тагове ще позволяват лесно търсене и филтриране.
121        121        
122        2. Сортиране:122        2. Сортиране:
123            - азбучен ред (A-Z или Z-A).123            - азбучен ред (A-Z или Z-A).
124            - ниво на трудност: "beginner", "intermediate", "advanced".124            - ниво на трудност: "beginner", "intermediate", "advanced".
125125
126        3. Филтриране126        3. Филтриране
127            - потребителите ще могат да филтрират упражненията чрез таговете, което ще улесни намирането на подходящи упражнения за техните нужди.127            - потребителите ще могат да филтрират упражненията чрез таговете, което ще улесни намирането на подходящи упражнения за техните нужди.
128        128        
129        4. Формите на упражненията освен тагове и име на упражнението, ще включват и YouTube линкове към съответното упражнение, за да може да се визуализира129        4. Формите на упражненията освен тагове и име на упражнението, ще включват и YouTube линкове към съответното упражнение, за да може да се визуализира
130        лесно начина му на изпълнение на потребителя130        лесно начина му на изпълнение на потребителя
131131
nn132    10. (ако все още имам проблеми с визуализация > логика)
133        
134        Карта с фитнеси в близост до потребителя:
135            - платформата ще поддържа карта, която използва текущото местоположение на потребителя и поддържа.
136                > автоматично намиране на фитнеси в радиус от 5км
137                > маркери за всеки фитнес с информация като име, адрес и рейтинг.
138        
139        Преглед на рецензии:
140            - всяко място ще има секция за рецензии, където потребителите могат:
141                > да виждат съществуващи рецензии (ако се използва Google Places, рецензиите ще бъдат интегрирани директно).
142                > да добавят свои рецензии за съответния фитнес.
143 
144        Добавяне на рецензии:
145            - регистрираните (логнатите) потребители могат да добавят своя оценка (от 1 до 5 звезди) и кратка похвала/критика.
146        
147        Система за рейтинг:
148            - автоматично изчисляване на средния рейтинг за всеки фитнес въз основа на рецензиите от потребителите.
149            - сравнение на рейтингите на различните фитнеси.
150 
151        Филтри и търсене:
152            - потребителите могат да търсят фитнеси на картата по критерии като:
153                > рейтинг.
154                > разстояние от текущото местоположение.
155        
132**[Milestones/Възлови точки]**156**[Milestones/Възлови точки]**
133    - Инициализация на проекта:157    - Инициализация на проекта:
134        - Създаване на нов Django проект и приложение.158        - Създаване на нов Django проект и приложение.
135        - Конфигуриране на PostgreSQL база данни чрез psycopg2.159        - Конфигуриране на PostgreSQL база данни чрез psycopg2.
136        - Настройка на Django Admin за управление на данните.160        - Настройка на Django Admin за управление на данните.
137    - Създаване на модели:161    - Създаване на модели:
138        - Модел за потребители: Използване на вградения User модел в Django.162        - Модел за потребители: Използване на вградения User модел в Django.
139        - Модел за тренировки: Полета: вид тренировка, продължителност, дата, потребител.163        - Модел за тренировки: Полета: вид тренировка, продължителност, дата, потребител.
140        - Модел за тегло: Полета: дата на измерване, тегло, потребител.164        - Модел за тегло: Полета: дата на измерване, тегло, потребител.
141        - Модел за упражнения: Полета: име, тагове (мускулни групи, ниво на трудност, оборудване, тип), YouTube линк.165        - Модел за упражнения: Полета: име, тагове (мускулни групи, ниво на трудност, оборудване, тип), YouTube линк.
142        - Модел за публикации и коментари в For You.166        - Модел за публикации и коментари в For You.
143    - CRUD функционалности за тренировки и тегло:167    - CRUD функционалности за тренировки и тегло:
144        - Създаване на изгледи за добавяне, редактиране и изтриване на записи.168        - Създаване на изгледи за добавяне, редактиране и изтриване на записи.
145        - Форми за валидиране на входните данни.169        - Форми за валидиране на входните данни.
146        - Списък с всички записи за тренировки и тегло.170        - Списък с всички записи за тренировки и тегло.
147    - Автентикация и ограничение на достъпа:171    - Автентикация и ограничение на достъпа:
148        - Регистрация, вход и изход за потребители с валидиране на данни.172        - Регистрация, вход и изход за потребители с валидиране на данни.
149        - Ограничаване на достъпа до функционалностите за логнати потребители.173        - Ограничаване на достъпа до функционалностите за логнати потребители.
150    - Frontend и визуализация:174    - Frontend и визуализация:
151        - Създаване на шаблони с Django templates.175        - Създаване на шаблони с Django templates.
152        - Интеграция на Bootstrap за създаване на удобен интерфейс.176        - Интеграция на Bootstrap за създаване на удобен интерфейс.
153        - Добавяне на графики за прогреса на теглото с Chart.js или Matplotlib.177        - Добавяне на графики за прогреса на теглото с Chart.js или Matplotlib.
154    - For You функционалности:178    - For You функционалности:
155        - Реализиране на функционалности за публикуване на постове, коментиране и харесване.179        - Реализиране на функционалности за публикуване на постове, коментиране и харесване.
156        - Визуализация на списък с постове.180        - Визуализация на списък с постове.
157        - Поддръжка на качване на медийни файлове.181        - Поддръжка на качване на медийни файлове.
158    - Известия и push нотификации:182    - Известия и push нотификации:
159        - Реализация на push известия и известия чрез имейл, включително използване на Django messages.183        - Реализация на push известия и известия чрез имейл, включително използване на Django messages.
n160    -Разновидност от калкулатори:n184    - Разновидност от калкулатори:
161        - изграждане на калкулатори:185        - изграждане на калкулатори:
162            > One-Rep Max (1RM) Калкулатор.186            > One-Rep Max (1RM) Калкулатор.
163            > BMI (Body Mass Index) Калкулатор.187            > BMI (Body Mass Index) Калкулатор.
164            > Калориен Калкулатор.188            > Калориен Калкулатор.
165            > Калкулатор за мазнини в тялото (Body Fat Percentage).189            > Калкулатор за мазнини в тялото (Body Fat Percentage).
166    - Страница с упражнения:190    - Страница с упражнения:
167            > Разработка на страница за разглеждане и организиране на упражнения.191            > Разработка на страница за разглеждане и организиране на упражнения.
168            > Добавяне на тагове за упражнения: мускулни групи, ниво на трудност, тип оборудване, видове упражнения.192            > Добавяне на тагове за упражнения: мускулни групи, ниво на трудност, тип оборудване, видове упражнения.
169            > Реализиране на функционалност за търсене, сортиране (A-Z или Z-A) и филтриране чрез тагове.193            > Реализиране на функционалност за търсене, сортиране (A-Z или Z-A) и филтриране чрез тагове.
n170 n194    -  Карта
195            > Маркиране на фитнеси в радиус
196            > Рецензии
197            > Рейтинг система
198    
171**[Estimate in man-hours/Времеоценка в човекочасове]**199**[Estimate in man-hours/Времеоценка в човекочасове]**
172    - Инициализация на проекта (10 - 15 човекочаса).200    - Инициализация на проекта (10 - 15 човекочаса).
173    - Създаване на модели (10 - 15 човекочаса).201    - Създаване на модели (10 - 15 човекочаса).
174    - CRUD функционалности за тренировки и тегло (15- 20 човекочаса).202    - CRUD функционалности за тренировки и тегло (15- 20 човекочаса).
175    - Автентикация и ограничение на достъпа (10 - 15 човекочаса).203    - Автентикация и ограничение на достъпа (10 - 15 човекочаса).
176    - Frontend и визуализация (15 - 20 човекочаса).204    - Frontend и визуализация (15 - 20 човекочаса).
177    - For You функционалности (20 - 25 човекочаса).205    - For You функционалности (20 - 25 човекочаса).
178    - Известия и push нотификации (10 - 15 човекочаса).206    - Известия и push нотификации (10 - 15 човекочаса).
179    - Разновидност от калкулатори (5 - 10 човекочаса).207    - Разновидност от калкулатори (5 - 10 човекочаса).
180    - Страница с упражнения (15 - 20 човекочаса).208    - Страница с упражнения (15 - 20 човекочаса).
nn209    - Карта (25 - 30 човекочаса) (или 500 години). 
181    - Тестване и завършване (15 - 20 човекочаса).210    - Тестване и завършване (15 - 20 човекочаса).
182211
n183Общо време 125 - 175 човекочасаn212Общо време 125(150) - 175(205) човекочаса
184213
185**[Usage of technologies/Потребление на технологии]**214**[Usage of technologies/Потребление на технологии]**
186    - **Backend**: Django (създаване на RESTful API за функционалностите).215    - **Backend**: Django (създаване на RESTful API за функционалностите).
187    - **База данни**: PostgreSQL.216    - **База данни**: PostgreSQL.
188    - **Frontend**:217    - **Frontend**:
189        - Django templates (генериране на HTML съдържание).218        - Django templates (генериране на HTML съдържание).
190        - Bootstrap (стилизация на интерфейса).219        - Bootstrap (стилизация на интерфейса).
191        - Chart.js или Matplotlib (визуализация на данни).220        - Chart.js или Matplotlib (визуализация на данни).
192    - **Библиотеки**:221    - **Библиотеки**:
193        - `psycopg2` (връзка между Django и PostgreSQL).222        - `psycopg2` (връзка между Django и PostgreSQL).
194        - Django messages (съобщения за успех/грешка).223        - Django messages (съобщения за успех/грешка).
tt224    - **Карта**:
225        - Google Maps API
226        - Google Places API
195"""227"""
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

f1"""f1"""
n2.... .- .. -.- ..- / -.--. -. . / - --- -.-. .... -. --- -.--.- /n2Ново хайку, защото Виктор е сърдит:
33
n4... ...- . - .. --.- - / --. .-. .- .- .-.. --..-- / n4...- .-.. --.- --.. --- .... / ...- / --.. .- .-.. .- /
5 5-. .- / .--. .-. --- .--- . -.- - --- .-. / ... .--. .- -- / ... .--. .- -- / ... .--. .- -- /
6- --- ...- .- / . / ... .- -- --- / -.. .-. .- ... -.- --- - .. -. .- --..-- / 6- .-. ..- --. -. .- .... / ... .. / --- - - .- --
7 
8.-. .. -.-. .- .-. / -... . --.. / .-. ..- -.- .- .-.-.- .-.-.- .-.-.-
97
10**[Title/Звание]**8**[Title/Звание]**
11Shredded Monty Python9Shredded Monty Python
1210
13**[Description/Обрисовка]**11**[Description/Обрисовка]**
14Никой не иска да е слаб колкото “Виктор Бечев” - име свързано с криминални престъпления по целия свят и обявен за международно 12Никой не иска да е слаб колкото “Виктор Бечев” - име свързано с криминални престъпления по целия свят и обявен за международно 
15издирване или да дава гадни домашни с още по-невъзможни тестове, в които слага снимки, на които иронично бърка цимент, за 13издирване или да дава гадни домашни с още по-невъзможни тестове, в които слага снимки, на които иронично бърка цимент, за 
16да ни се подиграва на пътя, който ще изберем след тази избираема дисциплина - “Георги Кунчев”. Чу ли, Жорка, r"^gadni\b" домашни.14да ни се подиграва на пътя, който ще изберем след тази избираема дисциплина - “Георги Кунчев”. Чу ли, Жорка, r"^gadni\b" домашни.
1715
18Всички тези житейски проблеми, обгърнали битието на студентите, следващи във ФМИ, са решени благодарение на 16Всички тези житейски проблеми, обгърнали битието на студентите, следващи във ФМИ, са решени благодарение на 
19Shredded Monty Python (не знам как ги решава). Това е уеб приложение, идеята зад което е да помогне на хората 17Shredded Monty Python (не знам как ги решава). Това е уеб приложение, идеята зад което е да помогне на хората 
20да постигнат своите фитнес цели, като предостави удобен и ефективен начин за проследяване на тренировките и 18да постигнат своите фитнес цели, като предостави удобен и ефективен начин за проследяване на тренировките и 
21физическия прогрес. Чрез лесен за използване интерфейс потребителите могат да записват своите тренировки, 19физическия прогрес. Чрез лесен за използване интерфейс потребителите могат да записват своите тренировки, 
22да следят промените в теглото и телесните си измервания и да следят своето развитие. Всеки потребител ще може 20да следят промените в теглото и телесните си измервания и да следят своето развитие. Всеки потребител ще може 
23да сподели прогреса си с останалите потребители, което подсказва една от основните цели на платформата - 21да сподели прогреса си с останалите потребители, което подсказва една от основните цели на платформата - 
24да създаде целеустремена, взаимноподкрепяща се общност.22да създаде целеустремена, взаимноподкрепяща се общност.
2523
26**[Functionalities/Надарености]**24**[Functionalities/Надарености]**
271. **Потребителски профил**:251. **Потребителски профил**:
28   26   
29    Регистрация - потребителят трябва да се регистрира преди използването на функционалностите на платформата.27    Регистрация - потребителят трябва да се регистрира преди използването на функционалностите на платформата.
30    Форма за регистрация:28    Форма за регистрация:
31        - Потребителите трябва да попълнят форма с основна информация минимални изисквания за сигурност като:29        - Потребителите трябва да попълнят форма с основна информация минимални изисквания за сигурност като:
32          - име и фамилия30          - име и фамилия
33          - имейл адрес - трябва да се валидира дали имейлът вече е използван31          - имейл адрес - трябва да се валидира дали имейлът вече е използван
34          - парола32          - парола
35   33   
36    Вход - потребителят трябва да влезе в профила си, ако вече се е регистрирал.34    Вход - потребителят трябва да влезе в профила си, ако вече се е регистрирал.
37    Форма за вход:35    Форма за вход:
38        - имейл адрес36        - имейл адрес
39        - парола37        - парола
40   38   
41    Личен профил с информация за тренировки и тегло:39    Личен профил с информация за тренировки и тегло:
42        - Приложението дава възможност на потребителите да създадат собствени рутинни програми, които са изградени според 40        - Приложението дава възможност на потребителите да създадат собствени рутинни програми, които са изградени според 
43          различни фитнес цели – загуба на тегло, изграждане на мускулна маса, подобряване на издръжливостта и други.41          различни фитнес цели – загуба на тегло, изграждане на мускулна маса, подобряване на издръжливостта и други.
4442
452. **Администраторски профил**:432. **Администраторски профил**:
46    - Администраторът трябва да има достъп до всички функционалности, до които обикновения потребител има достъп.44    - Администраторът трябва да има достъп до всички функционалности, до които обикновения потребител има достъп.
47    - Администраторът трябва да може да сменя пароли на обикновените потребители, техните имейли и дори да ги изтрива 45    - Администраторът трябва да може да сменя пароли на обикновените потребители, техните имейли и дори да ги изтрива 
48      напълно.46      напълно.
49    - Администраторът трябва да може да трие постове, с цел да се запази адекватно ниво на цензура.47    - Администраторът трябва да може да трие постове, с цел да се запази адекватно ниво на цензура.
50    - Администраторът трябва да може да изпраща имейл лично (негенериран) до даден потребител, ако това е необходимо.48    - Администраторът трябва да може да изпраща имейл лично (негенериран) до даден потребител, ако това е необходимо.
nn49    - Администраторът трябва да може да добавя нови упражнения в pool-a и да редактира предишните
51    - Администраторът е готин.50    - Администраторът е готин.
5251
533. **Тренировки**:523. **Тренировки**:
54    - Възможност за добавяне на нова тренировка с полета:53    - Възможност за добавяне на нова тренировка с полета:
55    54    
56        - Логнатият потребител трябва да може да създаде своя тренировка, като попълни необходимата форма за 55        - Логнатият потребител трябва да може да създаде своя тренировка, като попълни необходимата форма за 
57          създаване на такава.56          създаване на такава.
58        57        
59        Формата ще съдържа:58        Формата ще съдържа:
60            - Вид на тренировката (например кардио, силова тренировка, йога).59            - Вид на тренировката (например кардио, силова тренировка, йога).
61            - Продължителност в минути.60            - Продължителност в минути.
62            - Дата на провеждане.61            - Дата на провеждане.
63    62    
64    - Преглед на всички записани тренировки в табличен формат:63    - Преглед на всички записани тренировки в табличен формат:
65        - Логнатият потребител трябва да може да види всички свои записани тренировки в табличен формат.64        - Логнатият потребител трябва да може да види всички свои записани тренировки в табличен формат.
66    - Редактиране и изтриване на записани тренировки:65    - Редактиране и изтриване на записани тренировки:
67        - Логнатият потребител трябва да може да редактира и изтрива своите записани тренировки.66        - Логнатият потребител трябва да може да редактира и изтрива своите записани тренировки.
6867
694. **Проследяване на тегло**:684. **Проследяване на тегло**:
70    - Добавяне на запис за тегло с дата на измерване:69    - Добавяне на запис за тегло с дата на измерване:
71        - Логнатият потребител трябва да може да добавя запис за теглото си в даден ден, като може да го запише в 70        - Логнатият потребител трябва да може да добавя запис за теглото си в даден ден, като може да го запише в 
72          килограми или паундове.71          килограми или паундове.
73    - Преглед на всички записи в таблица:72    - Преглед на всички записи в таблица:
74        - Логнатият потребител трябва да може да види всички свои записани измервания в табличен формат.73        - Логнатият потребител трябва да може да види всички свои записани измервания в табличен формат.
75    - Генериране на графика за промяната на теглото с времето:74    - Генериране на графика за промяната на теглото с времето:
76        - Логнатият потребител трябва да може да види графика, илюстрираща теглото му във времето.75        - Логнатият потребител трябва да може да види графика, илюстрираща теглото му във времето.
7776
785. **Графики и визуализации**:775. **Графики и визуализации**:
79    - Графика за напредъка на теглото (тегло спрямо време).78    - Графика за напредъка на теглото (тегло спрямо време).
80    - Визуализация на напредъка на потребителя спрямо сила.79    - Визуализация на напредъка на потребителя спрямо сила.
8180
826. **Известия**:816. **Известия**:
83    - Известия за успешно добавяне, редактиране или изтриване на данни чрез Django messages.82    - Известия за успешно добавяне, редактиране или изтриване на данни чрез Django messages.
84    - Приложението предлага статистики по имейл (текущ месец/предходен месец), които дават визуална представа за 83    - Приложението предлага статистики по имейл (текущ месец/предходен месец), които дават визуална представа за 
85      постигнатия напредък.84      постигнатия напредък.
86    - Push Notifications - с цитати на готини хора, напр.: “Аз няма да пия” ~Костадин Русалов.85    - Push Notifications - с цитати на готини хора, напр.: “Аз няма да пия” ~Костадин Русалов.
8786
887. For You - интерактивно пространство в приложението, където потребителите могат да се свързват, да споделят своя опит и да 877. For You - интерактивно пространство в приложението, където потребителите могат да се свързват, да споделят своя опит и да 
89   участват в активни дискусии, свързани с техните фитнес цели и постижения.88   участват в активни дискусии, свързани с техните фитнес цели и постижения.
90    Какво предоставя For You:89    Какво предоставя For You:
91        - Публикуване на постове:90        - Публикуване на постове:
92            - Потребителите могат да създават свои постове, в които да споделят мотивационни истории, съвети за тренировки, 91            - Потребителите могат да създават свои постове, в които да споделят мотивационни истории, съвети за тренировки, 
93              въпроси или просто вдъхновяващи моменти от личното си фитнес пътуване (текст, снимки, клипове).92              въпроси или просто вдъхновяващи моменти от личното си фитнес пътуване (текст, снимки, клипове).
94        - Харесване и коментиране:93        - Харесване и коментиране:
95            - Всяка публикация може да бъде харесвана от други потребители, като по този начин се създава чувство на подкрепа 94            - Всяка публикация може да бъде харесвана от други потребители, като по този начин се създава чувство на подкрепа 
96              и мотивация в общността.95              и мотивация в общността.
97        - Водене на дискусии:96        - Водене на дискусии:
98            - For You е място за открити и вдъхновяващи дискусии.97            - For You е място за открити и вдъхновяващи дискусии.
nn98            
998. Разновидност от калкулатори - страница от платформата, в която потребителят ще може да се възползва от набор от калкулатори,
100    с помощта на които може да получи нужна за него информация
101        - 1. One-Rep Max (1RM) Калкулатор - позволява на потребителите да изчислят максималната тежест, която могат да повдигнат
102    за едно повторение, базирано на текущата им тежест и брой повторения.
103        - 2. BMI (Body Mass Index) Калкулатор - калкулатор за телесна маса, който определя дали потребителят е поднормено тегло, нормално тегло, 
104    наднормено тегло или със затлъстяване
105        - 3. Калориен Калкулатор - позволява да се определят колко калории са необходими за поддържане на текущото тегло, базирано на активността.
106        - 4. Калкулатор за мазнини в тялото (Body Fat Percentage) - изчислява процента телесни мазнини, базирано на обиколки на тялото.        
107 
1089. Страница с упражнения - Shredded Monty Python ще включва страница с различни упражнения, която позволява на потребителите да разглеждат и организира
109    тренировките си по удобен и интуитивен начин.
110 
111    Функционалности на страницата с упражнения:
112        1. Тагове за упражнения:
113            - видове тагове:
114                > мускулни групи: "back", "chest", "legs", "arms", "core".
115                > ниво на трудност: "beginner", "intermediate", "advanced".
116                > оборудване: "barbell", "dumbbells", "bodyweight", "resistance bands".
117                > тип на упражнението: "strength", "crossfit" (тагът ще бъде баннат предварително), "cardio", "functional training".
118 
119            - всяко упражнение ще бъде категоризирано с един или повече тагове:
120            - тагове ще позволяват лесно търсене и филтриране.
121        
122        2. Сортиране:
123            - азбучен ред (A-Z или Z-A).
124            - ниво на трудност: "beginner", "intermediate", "advanced".
125 
126        3. Филтриране
127            - потребителите ще могат да филтрират упражненията чрез таговете, което ще улесни намирането на подходящи упражнения за техните нужди.
128        
129        4. Формите на упражненията освен тагове и име на упражнението, ще включват и YouTube линкове към съответното упражнение, за да може да се визуализира
130        лесно начина му на изпълнение на потребителя
99131
100**[Milestones/Възлови точки]**132**[Milestones/Възлови точки]**
101    - Инициализация на проекта:133    - Инициализация на проекта:
102        - Създаване на нов Django проект и приложение.134        - Създаване на нов Django проект и приложение.
103        - Конфигуриране на PostgreSQL база данни чрез psycopg2.135        - Конфигуриране на PostgreSQL база данни чрез psycopg2.
104        - Настройка на Django Admin за управление на данните.136        - Настройка на Django Admin за управление на данните.
105    - Създаване на модели:137    - Създаване на модели:
106        - Модел за потребители: Използване на вградения User модел в Django.138        - Модел за потребители: Използване на вградения User модел в Django.
107        - Модел за тренировки: Полета: вид тренировка, продължителност, дата, потребител.139        - Модел за тренировки: Полета: вид тренировка, продължителност, дата, потребител.
108        - Модел за тегло: Полета: дата на измерване, тегло, потребител.140        - Модел за тегло: Полета: дата на измерване, тегло, потребител.
nn141        - Модел за упражнения: Полета: име, тагове (мускулни групи, ниво на трудност, оборудване, тип), YouTube линк.
109        - Модел за публикации и коментари в For You.142        - Модел за публикации и коментари в For You.
110    - CRUD функционалности за тренировки и тегло:143    - CRUD функционалности за тренировки и тегло:
111        - Създаване на изгледи за добавяне, редактиране и изтриване на записи.144        - Създаване на изгледи за добавяне, редактиране и изтриване на записи.
112        - Форми за валидиране на входните данни.145        - Форми за валидиране на входните данни.
113        - Списък с всички записи за тренировки и тегло.146        - Списък с всички записи за тренировки и тегло.
114    - Автентикация и ограничение на достъпа:147    - Автентикация и ограничение на достъпа:
115        - Регистрация, вход и изход за потребители с валидиране на данни.148        - Регистрация, вход и изход за потребители с валидиране на данни.
116        - Ограничаване на достъпа до функционалностите за логнати потребители.149        - Ограничаване на достъпа до функционалностите за логнати потребители.
117    - Frontend и визуализация:150    - Frontend и визуализация:
118        - Създаване на шаблони с Django templates.151        - Създаване на шаблони с Django templates.
119        - Интеграция на Bootstrap за създаване на удобен интерфейс.152        - Интеграция на Bootstrap за създаване на удобен интерфейс.
120        - Добавяне на графики за прогреса на теглото с Chart.js или Matplotlib.153        - Добавяне на графики за прогреса на теглото с Chart.js или Matplotlib.
121    - For You функционалности:154    - For You функционалности:
122        - Реализиране на функционалности за публикуване на постове, коментиране и харесване.155        - Реализиране на функционалности за публикуване на постове, коментиране и харесване.
123        - Визуализация на списък с постове.156        - Визуализация на списък с постове.
124        - Поддръжка на качване на медийни файлове.157        - Поддръжка на качване на медийни файлове.
125    - Известия и push нотификации:158    - Известия и push нотификации:
126        - Реализация на push известия и известия чрез имейл, включително използване на Django messages.159        - Реализация на push известия и известия чрез имейл, включително използване на Django messages.
nn160    -Разновидност от калкулатори:
161        - изграждане на калкулатори:
162            > One-Rep Max (1RM) Калкулатор.
163            > BMI (Body Mass Index) Калкулатор.
164            > Калориен Калкулатор.
165            > Калкулатор за мазнини в тялото (Body Fat Percentage).
166    - Страница с упражнения:
167            > Разработка на страница за разглеждане и организиране на упражнения.
168            > Добавяне на тагове за упражнения: мускулни групи, ниво на трудност, тип оборудване, видове упражнения.
169            > Реализиране на функционалност за търсене, сортиране (A-Z или Z-A) и филтриране чрез тагове.
127170
128**[Estimate in man-hours/Времеоценка в човекочасове]**171**[Estimate in man-hours/Времеоценка в човекочасове]**
129    - Инициализация на проекта (10 - 15 човекочаса).172    - Инициализация на проекта (10 - 15 човекочаса).
130    - Създаване на модели (10 - 15 човекочаса).173    - Създаване на модели (10 - 15 човекочаса).
131    - CRUD функционалности за тренировки и тегло (15- 20 човекочаса).174    - CRUD функционалности за тренировки и тегло (15- 20 човекочаса).
132    - Автентикация и ограничение на достъпа (10 - 15 човекочаса).175    - Автентикация и ограничение на достъпа (10 - 15 човекочаса).
133    - Frontend и визуализация (15 - 20 човекочаса).176    - Frontend и визуализация (15 - 20 човекочаса).
134    - For You функционалности (20 - 25 човекочаса).177    - For You функционалности (20 - 25 човекочаса).
135    - Известия и push нотификации (10 - 15 човекочаса).178    - Известия и push нотификации (10 - 15 човекочаса).
nn179    - Разновидност от калкулатори (5 - 10 човекочаса).
180    - Страница с упражнения (15 - 20 човекочаса).
136    - Тестване и завършване (15 - 20 човекочаса).181    - Тестване и завършване (15 - 20 човекочаса).
137182
t138Общо време 105 - 145 човекочасаt183Общо време 125 - 175 човекочаса
139184
140**[Usage of technologies/Потребление на технологии]**185**[Usage of technologies/Потребление на технологии]**
141    - **Backend**: Django (създаване на RESTful API за функционалностите).186    - **Backend**: Django (създаване на RESTful API за функционалностите).
142    - **База данни**: PostgreSQL.187    - **База данни**: PostgreSQL.
143    - **Frontend**:188    - **Frontend**:
144        - Django templates (генериране на HTML съдържание).189        - Django templates (генериране на HTML съдържание).
145        - Bootstrap (стилизация на интерфейса).190        - Bootstrap (стилизация на интерфейса).
146        - Chart.js или Matplotlib (визуализация на данни).191        - Chart.js или Matplotlib (визуализация на данни).
147    - **Библиотеки**:192    - **Библиотеки**:
148        - `psycopg2` (връзка между Django и PostgreSQL).193        - `psycopg2` (връзка между Django и PostgreSQL).
149        - Django messages (съобщения за успех/грешка).194        - Django messages (съобщения за успех/грешка).
150"""195"""
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op