AimTask, или как мы сделали планировщик задач

в 22:05, , рубрики: android, c++, gtd, iOS, qt, Qt Software, rest, метки: , , , , ,

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

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

Однако на встрече выяснилось что нужно сделать немного больше, а именно систему управления задачами, которая будет работать на всех возможных платформах, с возможностью работы оффлайн, онлайн, синхронизации данных в облаке и при этом быть максимально простой и понятной любой домохозяйке. Так же по его словам эта система должна составить прямую конкуренцию таким общепризнанным классикам жанра как Wunderlist, Getflow итд. Моя реакция? После 2 лет работы на военном заводе по реализации протоколов обмена между устройствами и вылепливанию кирпичных интерфейсов для нужд военных… Да, черт возьми! Готов! Когда приступать? Это предложение было как глоток свежего воздуха и казалось возможностью реализовать уже так давно забытую мечту сделать что-нибудь разумное, доброе, вечное и оставить свой след в истории.

Получив на обдумывание пару дней я распрощался с заказчиком и по пути домой стал разрабатывать план действий. И так что я могу сделать сам, на работе я пишу на C++/Qt, я люблю Qt и мне нравятся плюсы, поэтому без вопросов десктоп клиент буду писать я. К тому же он сразу покроет 3 платформы Windows, Mac и Linux, а при условии очень ограниченного бюджета это и вовсе показалось отличным решением. Кто-нибудь скажет что писать интерфейсы на плюсах долго и не эффективно, короче геморрой. Однако я считаю что главное не то на чем пишешь, а то чем пишешь, руки я имею ввиду. А в каждом языке программирования или фреймворке есть свои заморочки… Разработчик на десктоп клиент есть ок, на себя всегда можно положиться.
А вот дальше? Нужны клиенты под android, ios, неплохо бы еще и web клиент, и да самое главное сам сервер синхронизации. Кого бы еще втянуть в эту авантюру? Конечно же университетских товарищей. Ведь отсидев за одной скамьей 6 лет именно с ними ты знаешь кто на что способен, лучше чем любое кадровое агенство со стажем.
Понеслись звонки. Лех Здарова! Сто лет не виделись как сам? Че работаешь? … Я тоже. Да тут тема есть подзаработать чуть… Давай завтра по пивку вечером там обсудим… Слушай а Серега че где? Все там же? Слушай дай мобилку его а то у меня труба утонула старая, контакты накрылись все… Серег здарова че как дела то? Ты в серваках понимаешь ченибудь? ……. Кирюх привет … кто кто конь в пальто, давай подгребай завтра вечером…
Итого +4 девелопера по штуке на каждую из оставшихся платформ, и сервер. Дальше встречи в пиццериях и пабах, встречи с заказчиком, составление нового реального тз, создание странички проекта на wikia, разборки со сроками, знакомство с GTD различные творческие концептуальные споры, смена ios разработчика и поиски нового, случайная встреча бывшего одноклассника который помог нам с дизайном… и много программирования, по вечерам ночам и выходным.
И вот прошел год. Что у нас есть сейчас? У нас есть сервер, клиент для Windows/Mac (alpha), почти альфа android клиента, ios и web клиенты которыми пользоваться пока рановато…
Ну и пара слов о том почему же мы считаем свою систему лучшей в мире привлекательной:
— простой и красивый интерфейс, строгий и без пафоса.
— синхронизация (ваши задачи доступны вам везде где есть интернет)
— возможность работы оффлайн (если интернета нет)
— возможность групповой работы (создание задач друг другу)
— в каждой задаче есть поле для ее обсуждения “переписка”
— в переписке можно прикреплять файлы
— удобная система поиска и фильтрации задач
— можно не регистрироваться в системе и использовать клиент как локальную записную книжку
— мы сделали alpha версию такой какой увидели ее сами, и будем рады если вы поможете нам сделать нашу систему еще лучше своими замечаниями и предложениями.

Все желающие могут скачать Windows и Mac клиенты здесь и здесь.

Ну и пара скриншотов напоследок. Скриншоты только для windows потому что интерфейс клиентов для Mac и Linux идентичны а интерфейсы клиентов для ios, android и браузеров тоже очень очень похожи за исключением отличий сделанных в угоду гайдлайнам ios и android.

Экран авторизации
image
Список задач
image
Область переписки в задаче
image

P.S. Заранее извиняюсь и прошу не судить строго за возможные баги, особенно под MacOs, все таки это alpha.

Автор: explorer85


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js