TaskView For You

TaskView - система управления проектами.

TaskView For You

Когда-то я разработал электронное меню для ресторанов и даже опубликовал здесь статью. Доделал, запустил, но быстро понял, что продвигать его мне неинтересно. Продукт работал и работает, но не вызывал энтузиазма. Тогда я решил сосредоточиться на другом своем пет-проекте, который действительно увлекал меня — системе управления проектами, над которой я работаю сейчас.

Сейчас я создаю TaskView — таск-менеджер, которым пользуюсь ежедневно. Это не просто еще один инструмент, а система, разработанная под реальные задачи. Чем дальше я его развиваю, тем больше убеждаюсь в его полезности. Надеюсь, он понравится и вам.

Проблемы и вызовы

Разработка — это всегда весело, и TaskView не стал исключением.

После того как веб-версия была готова и хорошо выглядела на мобильных устройствах, я решил пойти дальше и создать мобильное приложение. Уже через пару дней у меня была рабочая версия для Android и iOS, но возникла проблема — приложение не публиковалось в сторах, и мне пришлось разбираться с этим.

При публикации в Google Play неожиданно столкнулся с ограничениями, связанными с тестированием перед релизом. Оказалось, что у аккаунтов, зарегистрированных на физическое лицо, есть ряд ограничений, а у юридических лиц таких проблем нет. Решение этого вопроса заняло два рабочих дня.

С Apple тоже возникли сложности. Первый релиз TaskView прошел без проблем, но на втором этапе Apple потребовала добавить функцию удаления аккаунта. Это новое требование, и мне пришлось срочно дорабатывать функционал. В итоге я добавил нужную возможность, и обновление одобрили.

Еще одним важным этапом стало переписывание серверной части. Изначально бэкенд был на PHP, но со временем я решил сосредоточиться на JavaScript. В итоге за две недели полностью переписал серверную часть на Node.js, и это оказалось одним из лучших решений. Правда, не обошлось без приключений.

Сначала я попробовал BunJS, потому что он не требует настройки сборки TypeScript и предлагает множество встроенных возможностей (в режиме разработки пользуюсь по сей день). Однако при публикации на сервере возникли проблемы — BunJS прописывал пути прямо в коде, что меня не устроило. В итоге я перешел на Node.js + Vite + ViteNode + ExpressJS, настроил сборку и остался доволен, хотя этот процесс занял немало времени и нервов.

Теперь вместо простого обновления PHP-файлов на сервере я перешел к полноценному CI/CD:

  • Сборка бинарника и упаковка в Docker-образ для нужной архитектуры.
  • Обновление Docker-образа на сервере.
  • Запуск TaskView с файлами лицензий

TaskView тоже эволюционировал. Сначала у него была строгая структура: пользователь должен был сначала создать проект, затем список задач, и только потом добавлять сами задачи (при использовании веб версии меня все устраивало). Этот подход был логичен, но не давал гибкости(особенно в мобильной версии). В итоге я пересмотрел архитектуру и добавил возможность создавать задачи напрямую в проекте, а списки задач стали опциональными.

Реализованный функционал

Теперь о возможностях TaskView.

Сейчас в приложении доступны:

  • Создание проектов, списков и задач.
  • Гибкая система прав доступа с 28 различными разрешениями и управлением ролями.
  • Возможность добавлять подзадачи, заметки, дедлайны, теги, приоритеты и назначать ответственного пользователя.
  • История изменений для отслеживания прогресса.
  • Аналитика, которая помогает оценивать продуктивность и принимать решения на основе данных.

Будущее TaskView

Сейчас я активно продвигаю TaskView, чтобы привлечь пользователей и собрать обратную связь для дальнейшего развития. Это интересный опыт, который также помогает мне расти профессионально.

Проект пока остается бесплатным, но есть платная self-hosted версия для тех, кому важен полный контроль над данными.

Ближайшие планы по функционалу:

  • Поддержка уведомлений.
  • Расширение возможностей аналитики.
  • Возможность выбора колонки/статуса канбана прямо в задаче.
  • Учет времени работы.
  • Настройка периодичности повторяющихся задач.
  • Спринты
  • и многое другое.

Лицензия

Как будет распространяться TaskView?

На данный момент — продажа API-сервера с бесплатными обновлениями в рамках старшей версии. Для некоммерческих организаций, занимающихся общественно полезной деятельностью, продукт будет доступен бесплатно.

Почему TaskView меня увлекает?

TaskView — это инструмент, который я сам использую каждый день. Он решает мои задачи, и мне действительно интересно его развивать. Проектирование архитектуры, внедрение нового функционала и преодоление технических сложностей — это то, что меня мотивирует.

Будет ли TaskView успешным? Время покажет. Но для меня главное — создавать продукт, который мне нравится и которым я сам с удовольствием пользуюсь. Пока есть что улучшать, я не остановлюсь.

Сотрудничество

Если вам интересен этот проект и вы хотите принять в нем участие или использовать его у себя — я всегда открыт к сотрудничеству. Пишите по контактам указанным на сайте taskview.tech

В следующей статье я сделаю обзор функционала с иллюстрациями или видео. К сожалению, у меня не всегда есть время на создание такого контента, так как он основан на результатах программирования. Поэтому я предпочитаю сначала разрабатывать новый функционал, а затем делиться обновлениями здесь. До новых встреч! :)

Кроме того, 15% от всей монетизации TaskView будет направляться на поддержку Open Source проектов, так как они играют ключевую роль в развитии технологий и значительно помогают в создании новых продуктов.

1
2 комментария