TaskView For You
TaskView - система управления проектами.
Когда-то я разработал электронное меню для ресторанов и даже опубликовал здесь статью. Доделал, запустил, но быстро понял, что продвигать его мне неинтересно. Продукт работал и работает, но не вызывал энтузиазма. Тогда я решил сосредоточиться на другом своем пет-проекте, который действительно увлекал меня — системе управления проектами, над которой я работаю сейчас.
Сейчас я создаю 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 проектов, так как они играют ключевую роль в развитии технологий и значительно помогают в создании новых продуктов.