Решение на Време е да помислите за проектите си! от Цветелина Чакърова

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

Към профила на Цветелина Чакърова

Резултати

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

Код

"""
[Title/Звание]
Библиотека за мелодии на виртуално пиано.
[Description/Обрисовка]
Десктоп приложение, предоставящо възможност за:
- Изпълнение на единични последователни ноти на виртуално пиано
- Записване на мелодии от изпълнените ноти или от подаден списък с ноти под формата на текст
- Изпълнение на съществуващи мелодии
Обикновеният потребител ще има достъп до собствена библиотека от мелодии, както и до глобална такава, в която записите се качват от специални потребители, имащи права да споделят мелодии с всички останали.
[Functionalities/Надарености]
1. Видове потребители и правата им:
1.1. Приложението поддържа два типа потребители – обикновен и специален потребител.
1.2. Двата типа имат достъп до собствена библиотека, в която могат да качват мелодии, които да са достъпни само за тях самите.
1.3. Двата типа имат достъп до глобална библиотека.
1.4. Специалният потребител има право да качва мелодии в глобалната библиотека, които да са достъпни за всички останали.
2. Регистрация:
2.1. По време на регистрация човек може да избере като какъв тип потребител иска да се регистрира.
2.2. И в двата случая, регистрацията става включва въвеждане на информация като потребителско име, имейл, парола и други.
2.3. Ако потребителят избере да се регистрира като специален потребител, се въвежда допълнителна информация, необходима за оторизация.
2.4. Създаването на профил на обикновен потребител става автоматично след въвеждане на нужната информация.
2.5. Създаването на профил на специален потребител става след одобрение от админ, като админът може да не одобри заявката.
3. Вход: Входът в приложението за всички потребители се случва с въвеждане на коректно потребителско име и съответстваща парола.
4. Виртуално пиано: След вход в приложението се визуализира прозорец с виртуално пиано със следната основна функционалност: при натискане на клавиш се изпълнява съответната нота.
5. Записване на мелодия от гледна точка на потребителя:
5.1. На прозореца с виртуалното пиано ще има бутон за записване на мелодия, който дава избор между два начина за записване на мелодия:
5.1.1. Чрез натискане на клавиши – потребителят натиска клавишите, до натискане на бутон за прекратяване на въвеждането.
5.1.2. Чрез въвеждане на текст, репрезентиращ ноти – в специално поле ще може да се въведат ноти чрез ABC нотацията или Do-Re-Mi нотацията, както и с използване на числа за означаване на октавата, и думите “flat”, “sharp”. Правилата за правилно въвеждане ще се показват заедно с полето. Отново ще има бутон за прекратяване на въвеждането.
5.1.3. След прекратяване на въвеждането потребителят трябва да попълни името на мелодията и ключови думи за нея.
5.1.4. Ако потребителят е специален, той ще може да избере къде да добави мелодията – в собствената си библиотека, в глобалната библиотека или в двете.
6. Записване на мелодия от гледна точка на програмата: Всеки натиснат клавиш е свързан с аудио файл, съдържащ неговото звучене. Всяка въведена с текст нота ще се свързва с аудио файл за съответстващия й клавиш. Крайната мелодия се записва чрез конкатенация на аудио файлове.
7. Библиотека от мелодии: При избор на дадена мелодия от дадена библиотека се възпроизвежда аудио файл.
8. Потребителите ще могат да търсят мелодии по ключови думи, когато са в собствената си библиотека или в глобалната библиотека. Ще е като филтриране, след което мелодиите могат да се изпълняват, както в т. 7.
[Milestones/Възлови точки]
- Създаване на админ
- Форма за регистрация
- Валидация на парола при регистрация
- Подходящи съобщения към потребителя при грешни входни данни (при въвеждане на потребителско име, парола, текст с ноти и други)
- Създаване на база от данни
- Хеширане на пароли преди запазването им в база от данни
- Одобряване/Отхвърляне на специален потребител от админ при регистрация
- Форма за вход – търсене дали съществува потребителското име и дали е въведена правилната парола за него
- Визуализация на виртуално пиано
- Възпроизвеждане на аудио файл
- Свързване на натискане на клавиш с възпроизвеждане на конкретен аудио файл
- Форма за въвеждане на ноти чрез текст
- Валидация на въведения текст
- Конкатениране на аудио файлове
- Свързване на аудио файл с ключови думи
- Филтриране по ключови думи
[Estimate in man-hours/Времеоценка в човекочасове]
70 – 90 часа
[Usage of technologies/Потребление на технологии]
- Framework Tkinter
- Модул за работа с бази от данни – например MySQLdb.
- Модул за възпроизвеждане на аудио файлове – например playsound за файлове с разширение .wav.
- Модул за конкатениране на аудио файлове – например wave, ако файловете са с разширение .wav.
"""

История (2 версии и 3 коментара)

Цветелина обнови решението на 19.12.2022 01:25 (преди над 1 година)

+"""
+[Title/Звание]
+Библиотека за мелодии на виртуално пиано.
+
+[Description/Обрисовка]
+Уеб сайт, предоставящ възможност за
+ - Изпълнение на единични последователни ноти на виртуално пиано
+ - Записване на мелодии от изпълнените ноти или от подаден списък с ноти под формата на текст
+ - Изпълнение на съществуващи мелодии
+Обикновеният потребител ще има достъп до собствена библиотека от мелодии, както и до глобална такава, в която записите се качват от специални потребители, имащи права да споделят мелодии с всички останали.
+
+[Functionalities/Надарености]
+1. Видове потребители и правата им:
+ 1.1. Уеб сайтът поддържа два типа потребители – обикновен и специален потребител.
+ 1.2. Двата типа имат достъп до собствена библиотека, в която могат да качват мелодии, които да са достъпни само за тях самите.
+ 1.3. Двата типа имат достъп до глобална библиотека.
+ 1.4. Специалният потребител има право да качва мелодии в глобалната библиотека, които да са достъпни за всички останали.
+
+2. Регистрация:
+ 2.1. По време на регистрация човек може да избере като какъв тип потребител иска да се регистрира.
+ 2.2. И в двата случая, регистрацията става включва въвеждане на информация като потребителско име, имейл, парола и други.
+ 2.3. Ако потребителят избере да се регистрира като специален потребител, се въвежда допълнителна информация, необходима за оторизация.
+ 2.4. Създаването на профил на обикновен потребител става автоматично след въвеждане на нужната информация.
+ 2.5. Създаването на профил на специален потребител става след одобрение от админ, като админът може да не одобри заявката.
+
+3. Вход: Входът в сайта за всички потребители се случва с въвеждане на коректно потребителско име и съответстваща парола.
+
+4. Виртуално пиано: След вход в сайта се визуализира уеб страница с виртуално пиано със следната основна функционалност: при натискане на клавиш се изпълнява съответната нота.
+
+5. Записване на мелодия от гледна точка на потребителя:
+ 5.1. На страницата с виртуалното пиано ще има бутон за записване на мелодия, който дава избор между два начина за записване на мелодия:
+ 5.1.1. Чрез натискане на клавиши – потребителят натиска клавишите, до натискане на бутон за прекратяване на въвеждането.
+ 5.1.2. Чрез въвеждане на текст, репрезентиращ ноти – в специално поле ще може да се въведат ноти чрез ABC нотацията или Do-Re-Mi нотацията, както и с използване на числа за означаване на октавата, и думите “flat”, “sharp”. Правилата за правилно въвеждане ще се показват заедно с полето. Отново ще има бутон за прекратяване на въвеждането.
+ 5.2. След прекратяване на въвеждането потребителят трябва да попълни името на мелодията и ключови думи за нея.
+ 5.3. Ако потребителят е специален, той ще може да избере къде да добави мелодията – в собствената си библиотека, в глобалната библиотека или в двете.
+
+6. Записване на мелодия от гледна точка на програмата: Всеки натиснат клавиш е свързан с аудио файл, съдържащ неговото звучене. Всяка въведена с текст нота ще се свързва с аудио файл за съответстващия й клавиш. Крайната мелодия се записва чрез конкатенация на аудио файлове.
+
+7. Библиотека от мелодии: На страницата с виртуалното пиано ще има бутони за достъп до собствената и до глобалната библиотека. При избор на дадена мелодия вътре в библиотека се възпроизвежда аудио файл.
+
+8. Потребителите ще могат да търсят мелодии по ключови думи, когато са в собствената си или в глобалната библиотека. Ще е като филтриране, след което мелодиите могат да се изпълняват, както в т. 7.
+
+[Milestones/Възлови точки]
+- Създаване на админ
+- Форма за регистрация
+- Валидация на парола при регистрация
+- Хеширане на пароли преди запазването им в база от данни
+- Одобряване/Отхвърляне на специален потребител от админ при регистрация
+- Форма за вход – търсене дали съществува потребителското име и дали е въведена правилната парола за него
+- Визуализация на виртуално пиано
+- Възпроизвеждане на аудио файл
+- Свързване на натискане на клавиш с възпроизвеждане на конкретен аудио файл
+- Форма за въвеждане на ноти чрез текст
+- Валидация на въведения текст
+- Конкатениране на аудио файлове
+- Свързване на аудио файл с ключови думи
+- Филтриране по ключови думи
+
+[Estimate in man-hours/Времеоценка в човекочасове]
+70 – 90 часа
+
+[Usage of technologies/Потребление на технологии]
+- Framework Django.
+- Модул за възпроизвеждане на аудио файлове – Например playsound за файлове с разширение .wav.
+- Модул за конкатениране на аудио файлове – Например wave, ако файловете са с разширение .wav.
+"""

Проектът е готин, но:

  • Всичко, свързано с потребителите ще ти дойде наготово от Django. Описала си кеширане на пароли, страници за логин/лагаут - всичко това го имаш преди да си започнала.
  • Слагайки логините настрана, всичко остнало е виртуално пиано, което реално ще имплементираш на front-end, т.е. няма да има нищо общо с Python.
  • Python частта е просто Django с потребители и модел за записване на мелодии - това е по-лесно от това, което презентирах на лекциите за Django.

Освен това, написала си разни модули за възпроизвеждане на звук. Пианото и звука ще бъдат в браузъра и нямат общо с Python. Не можеш да генерираш звук на back-end-а, който да пращаш на front-end-а в реално време. Дори да го направиш, ще има забавяне и въобще не е удачен похват.

Ако имплементираш същата идея в Десктоп приложение - супер. Ако ще го правиш с Django, идеята не е подходяща.

Цветелина обнови решението на 20.12.2022 16:17 (преди над 1 година)

"""
[Title/Звание]
Библиотека за мелодии на виртуално пиано.
[Description/Обрисовка]
-Уеб сайт, предоставящ възможност за
- - Изпълнение на единични последователни ноти на виртуално пиано
- - Записване на мелодии от изпълнените ноти или от подаден списък с ноти под формата на текст
- - Изпълнение на съществуващи мелодии
+Десктоп приложение, предоставящо възможност за:
+- Изпълнение на единични последователни ноти на виртуално пиано
+- Записване на мелодии от изпълнените ноти или от подаден списък с ноти под формата на текст
+- Изпълнение на съществуващи мелодии
Обикновеният потребител ще има достъп до собствена библиотека от мелодии, както и до глобална такава, в която записите се качват от специални потребители, имащи права да споделят мелодии с всички останали.
[Functionalities/Надарености]
+
1. Видове потребители и правата им:
- 1.1. Уеб сайтът поддържа два типа потребители – обикновен и специален потребител.
+ 1.1. Приложението поддържа два типа потребители – обикновен и специален потребител.
1.2. Двата типа имат достъп до собствена библиотека, в която могат да качват мелодии, които да са достъпни само за тях самите.
1.3. Двата типа имат достъп до глобална библиотека.
1.4. Специалният потребител има право да качва мелодии в глобалната библиотека, които да са достъпни за всички останали.
2. Регистрация:
2.1. По време на регистрация човек може да избере като какъв тип потребител иска да се регистрира.
2.2. И в двата случая, регистрацията става включва въвеждане на информация като потребителско име, имейл, парола и други.
2.3. Ако потребителят избере да се регистрира като специален потребител, се въвежда допълнителна информация, необходима за оторизация.
2.4. Създаването на профил на обикновен потребител става автоматично след въвеждане на нужната информация.
2.5. Създаването на профил на специален потребител става след одобрение от админ, като админът може да не одобри заявката.
-3. Вход: Входът в сайта за всички потребители се случва с въвеждане на коректно потребителско име и съответстваща парола.
+3. Вход: Входът в приложението за всички потребители се случва с въвеждане на коректно потребителско име и съответстваща парола.
-4. Виртуално пиано: След вход в сайта се визуализира уеб страница с виртуално пиано със следната основна функционалност: при натискане на клавиш се изпълнява съответната нота.
+4. Виртуално пиано: След вход в приложението се визуализира прозорец с виртуално пиано със следната основна функционалност: при натискане на клавиш се изпълнява съответната нота.
5. Записване на мелодия от гледна точка на потребителя:
- 5.1. На страницата с виртуалното пиано ще има бутон за записване на мелодия, който дава избор между два начина за записване на мелодия:
+ 5.1. На прозореца с виртуалното пиано ще има бутон за записване на мелодия, който дава избор между два начина за записване на мелодия:
5.1.1. Чрез натискане на клавиши – потребителят натиска клавишите, до натискане на бутон за прекратяване на въвеждането.
5.1.2. Чрез въвеждане на текст, репрезентиращ ноти – в специално поле ще може да се въведат ноти чрез ABC нотацията или Do-Re-Mi нотацията, както и с използване на числа за означаване на октавата, и думите “flat”, “sharp”. Правилата за правилно въвеждане ще се показват заедно с полето. Отново ще има бутон за прекратяване на въвеждането.
- 5.2. След прекратяване на въвеждането потребителят трябва да попълни името на мелодията и ключови думи за нея.
- 5.3. Ако потребителят е специален, той ще може да избере къде да добави мелодията – в собствената си библиотека, в глобалната библиотека или в двете.
+ 5.1.3. След прекратяване на въвеждането потребителят трябва да попълни името на мелодията и ключови думи за нея.
+ 5.1.4. Ако потребителят е специален, той ще може да избере къде да добави мелодията – в собствената си библиотека, в глобалната библиотека или в двете.
6. Записване на мелодия от гледна точка на програмата: Всеки натиснат клавиш е свързан с аудио файл, съдържащ неговото звучене. Всяка въведена с текст нота ще се свързва с аудио файл за съответстващия й клавиш. Крайната мелодия се записва чрез конкатенация на аудио файлове.
-7. Библиотека от мелодии: На страницата с виртуалното пиано ще има бутони за достъп до собствената и до глобалната библиотека. При избор на дадена мелодия вътре в библиотека се възпроизвежда аудио файл.
+7. Библиотека от мелодии: При избор на дадена мелодия от дадена библиотека се възпроизвежда аудио файл.
-8. Потребителите ще могат да търсят мелодии по ключови думи, когато са в собствената си или в глобалната библиотека. Ще е като филтриране, след което мелодиите могат да се изпълняват, както в т. 7.
+8. Потребителите ще могат да търсят мелодии по ключови думи, когато са в собствената си библиотека или в глобалната библиотека. Ще е като филтриране, след което мелодиите могат да се изпълняват, както в т. 7.
[Milestones/Възлови точки]
- Създаване на админ
- Форма за регистрация
- Валидация на парола при регистрация
+- Подходящи съобщения към потребителя при грешни входни данни (при въвеждане на потребителско име, парола, текст с ноти и други)
+- Създаване на база от данни
- Хеширане на пароли преди запазването им в база от данни
- Одобряване/Отхвърляне на специален потребител от админ при регистрация
- Форма за вход – търсене дали съществува потребителското име и дали е въведена правилната парола за него
- Визуализация на виртуално пиано
- Възпроизвеждане на аудио файл
- Свързване на натискане на клавиш с възпроизвеждане на конкретен аудио файл
- Форма за въвеждане на ноти чрез текст
- Валидация на въведения текст
- Конкатениране на аудио файлове
- Свързване на аудио файл с ключови думи
- Филтриране по ключови думи
[Estimate in man-hours/Времеоценка в човекочасове]
70 – 90 часа
[Usage of technologies/Потребление на технологии]
-- Framework Django.
-- Модул за възпроизвеждане на аудио файлове – Например playsound за файлове с разширение .wav.
-- Модул за конкатениране на аудио файлове – Например wave, ако файловете са с разширение .wav.
+- Framework Tkinter
+- Модул за работа с бази от данни – например MySQLdb.
+- Модул за възпроизвеждане на аудио файлове – например playsound за файлове с разширение .wav.
+- Модул за конкатениране на аудио файлове – например wave, ако файловете са с разширение .wav.
"""