закрыть окно

Ура! Релиз! Noiproject.com

  • Артем

  • 0

  • 23 Apr 2017

Ура! Релиз! Noiproject.com

Три недели назад у нас возникла безумная идея заново разработать то что уже и так работает. Под катом вы узнаете какие были подводные камни, как реализация 15 страничного ТЗ заняла всего 50 часов о_О

Идея разработать что-то новое пришла сразу после того, как у нас появилась Катя(кто такая Катя читайте в прошлом посте). Проектная система разработана вокруг в управлении одним человеком, есть менеджер и есть исполнители и менеджер выставляет задачи исполнителям. Система не предполагала что менеджер может быть и исполнителем и менеджером одновременно, из-за этого начали двоиться статусы и было сложно понять что происходит. А проблема была в архитектуре, в первоначальной версии проектной системы не было статусов, и я добавил их позже. Добавлены они были так что каждый менеджер должен сам создавать нужные ему статусы. Ну вот и теперь представьте себе, у одного менеджера 5 статусов, у второго 6 статусов, у третьего 7 статусов. И если исполнитель работает со всеми этими менеджерами то он в общей сложности видит 18 различных статусов! Поразмыслив над всем и пообщавшись с командой я понял нужно сделать новое решение. Но в этот раз я решил сделать все по-правильному, и пройти весь путь от составления ТЗ, заканчивая версткой и программированием.

Составление ТЗ началось с определения целей проектной системы. Изначальная цель была в следующем, предоставить возможность вести проекты в простой и удобной форме. Если подумать над тем что же такое проект, то становится понятно что проект это совокупность сделок. В сделке всегда принимают участие два человека это клиент и исполнитель.Иногда в сделке могут принимать больше двух человек, но обычно это люди со стороны либо клиента, либо исполнителя. Но бывают ситуации когда за проект ответственен один человек и он и клиент и исполнитель. Если рассмотреть процесс разработки любого проекта, то можно выявить следущие вехи:

1.Обсуждение

Стадия когда клиент и исполнитель только знакомятся и начинают обсуждать детали

2.Начало работы

Эта стадия когда клиент и исполнитель уже договорились и заключили определенные договоренности по цене и срокам.

3.Консультация

Стадия когда проект полностью разработан, но иногда клиент задает вопросы по проекту.

Так вот на основе анализа всего этого, мы пришли к наиболее простому решению, вехи проекта подходят не только для самого проекта, но и для задач внутри проекта.

Основываясь на этом мы сделали главное изменение, дали возможность создавать проекты абсолютно всем. Второе важное изменение которое мы сделали, мы полностью убрали такой пункт как услуги.

Вместо этого есть вот такое симпатичное окошко

В котором вы сами можете выбрать, кто вы в этом проекте клиент или исполнитель. В случае если вы клиент, и проект платный, то после того как вы закроете его, автоматически создастся счет между вами и исполнителем.

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

Через эти мессенджеры происходят уведомление о том что происходит в ваших задачах\проектах, плюс если от вас требуют срочного ответа то вы можете быстро ответить на последний проект от которого пришло уведомление.

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

Наверное каждый 5‑й мне писал что его, достал дайджест который постоянно приходит каждый день. В этой версии мы его полностью переработали и теперь он уведомляет только о тех проектах\задачах работа над которыми была утверждена. Также дайджест уведомляет о неоплаченных счетах. По умолчанию дайджест рассылается каждый день в 10 утра, в случае если вам не нравится такое положение дел, вы всегда можете настроить его под себя, указав в какие дни хотели бы его получать.

После того как ТЗ было написано, это ТЗ я скинул всем друзьям, заказчикам, знакомым всем тем кто был так или иначе связан с IT. После того как все посмотрели и высказали свое мнение, я переписал ТЗ в соответствии с пожеланиями клиентом.

Когда ТЗ было готово, дальше оставалась дело за дизайном\версткой\программированием. Я так подумал что рисовать индивидуальный дизайн и после верстать его это занятие долгое и нашел самый простой выход из сложившейся ситуации. Я выбрал шаблон и на базе этого шаблона сверстал абсолютно все страницы. Так как я все таки программист, то после "верстки" я около недели скидывал всем страницы чтобы посмотрели и сказали как по ощущениям. Так как в итоге я еще все довёртывал так как были косяки связанные с адаптивностью.

После готовой верстки я уже начал писать программную часть. Когда программная часть была готова, я решил не переносить её сразу на основной домен, а запустить бета - тест. В течении бета-теста я подключал новых клиентов и оценивал работу и взаимодействие всей системы. Бета тест был необходим, так как позволял внести новые изменения которые помогут клиентам. Так например когда клиент долго не реагировал на сообщения, было решено внедрить ботов для уведомлений. Так как не всегда всем удобно проверять почту.

Когда бета-тест подходил к концу, следующим нашим шагом была миграция. Миграция всех данных со старой проектной системы в новую. Mongodb в этом плане отличный инструмент так как благодаря динамическим полям всегда можно проставить версионность данных и в случае если что-то пойдет не так быстро откатится. К слову разработка миграции заняла около 4 часов. И вот спустя 4 часа я пишу этот пост.

Спасибо за внимание :)

http://noiproject.com/

Теги:

Псс..... чувак, а записью поделится не хочешь?

Комментарии

Чтобы оставить комментарий вам нужно авторизоваться!