С чего начать разработку таск менеджера на Java?
Есть 2 большие проблемы. Во-первых, "специалисты" вашего уровня обычно пишут на каком-нибудь PHP, и информации о разработки подобных проектов на PHP можно найти тонны. Инфы по Java найти гораздо сложнее, ибо если ты пишешь на Java, то ты по умолчанию специалист, и тебе не нужно объяснять такие "простые" вещи. Во-вторых, те, кто в этом реально разбираются, скорее всего скинут вам пачку непроизносимых названий, вроде EJB, JSP, JSF, Spring, Hibernate и прочее и прочее, ибо это именно те технологии и фреймворки, с которыми обычно имеют дело java-разработчики.
Лично я считаю (т.е. ИМХО, да?), что начинающему разработчику категорически противопоказано использовать какие-либо сторонние библиотеки и фреймворки. Только стандартная библиотека, только vanilla java, только хардкор. Только так можно понять, как там оно на самом деле работает, и стать действительно хорошим специалистом, а не фреймворк-разработчиком. Кстати, по поводу "упражняться с консолью и файлами". Не знаю какие книги вы читаете, но обычно там последовательно излагается все необходимое, от консоли и файлов до GUI и WEB-приложений. К примеру, есть отличная книжка Шилдта... в общем, рекомендую все-таки почитать, а не сразу рваться в бой.
Но уверен, вы, конечно же, не прислушаетесь к предыдущему совету. Так что по поводу создания WEB-приложений. Поищите в направлении servlets API. Как я и говорил изначально, довольно сложно нагуглить что-нибудь толковое, тем более на русском. Может быть, ниже кто-нибудь подкинет хорошую статеечку. Установите IDE для JavaEE и напишите простой сервлет. С его помощью можно принимать HTTP запросы от клиентов и отправлять ответы. А что дальше зависит от ваших познаний о структуре WEB-приложений, о которых я не имею представления. А статей именно с упором на Java как-то... Короче, обычно свой путь в WEB-разработке далеко не с Java начинают.
Ну так вы уже все знаете. У вас есть ТЗ как таковое, путь даже в голове? Есть наверняка.
Значит, вы как инженер-программист можете выделить основные сущности с которыми будет вестись работа. Сущности будут соответствовать классам в коде. Дальше берем идеологию CRUD и REST - набор базовых операций над объектами: создать, изменить, выбрать список, выбрать сущность, удалить.
Добавляете дополнительные операции через сервисы, вроде поиска и тд.
Добавляете авторизацию.
Spring изучали? Там дофига готовых сервисов на все случаи жизни.
Веб интерфейс соответственно: берете AngularJS, там тоже есть DI. Удобная работа с REST и с данными.