Здравейте! Проектът, който мисля да реализирам, е с функционалност доста сходна на Task manager, но с няколко добавки.
Програмата в началото ще бъде конзолна, един ден (извън рамките на този курс) ще се надявам да може да се добави UI. Основната й цел е да улесни човек в следенето на крайни срокове за различни важни събития.
За целта ще имам един списък. Всеки елемент в този списък ще бъде съставен от:
< Дата за завършване > < Приоритет > < Описание > < Статут на задачата >
Като говоря за „елемент“ от списъка, имам предвид, че може да е задача, събитие или краен срок за нещо.
Функционалности, които са цели за проекта:
- Логване в системата чрез име и парола
- Поддържане на информацията за отделните потребители във файл, папка за всеки потребител
- Добавяне, триене, променяне на задание
- Поддържане на списък от елементите в сортиран ред по дата
- Възможност за промяна на сортировката на елементите, вместо по дата, да е по приоритет на задачите
- Извеждане на елементите, които ще се случат в близката година, месец, седмица (ще се доуточни точно в кои времеви периоди)
- Извеждане на елементите по приоритет или само на тези с определен приоритет.
- Отбeлязване на задание като „свършено“ или промяната му на статута с „незавършено“
- Извеждане на всички завършени задания
Бонус функционалности за сървъра:
- Да има файл с настройки за приложението за всеки потребител. По този начин, ако потребителят предпочита да вижда списъка си сортиран по приоритет, а не по дата, в бъдеще ще може да го зададе
- Криптиране на файла с паролите, за да не може да бъде открадната отвън тази информация
Бонус функционалности за ползване на споделени списъци с елементи:
- Използване на един списък от повече от един потребител
- Много хора ще могат да виждат, добавят елементи в списъка
- Да може всеки потребител да участва в повече от един списък
Бонус функционалности за админи в тези споделени списъци:
- Да може да има админ на дадения списък
- Той да може да задава различните задачи кой да ги свърши, тоест да делегира задачи
Бонус функционалност в облака:
- Да може да се качи програмата в облака и да може там да се хоства. Примерно в Heroku
Искам да имплементирам такава програма, с цел в бъдеще да направя и Андроид програма и да мога да правя синхронизация между личния си компютър и телефона ми.