Russian Qt Forum
Март 28, 2024, 18:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Программа для сценаристов (Обсуждение программы и кода)  (Прочитано 38217 раз)
Dimka Novikov
Гость
« Ответ #15 : Март 19, 2015, 13:21 »

gil9red, нууу, сценаристов хлебом не корми, дай пофантазировать Улыбающийся идеями обложили на 5 лет вперёд!

А в общем у меня есть своё видение пути развития:
- синхронизация/совместная работа;
- режим рецензирования;
- импорт/экспорт в DOCX текста совместно с редакторскими пометками;
- карточки/таймлайн;
- статистика по сценарию/графики/отчёты и т.п.;
- разработка сценария - конструкторы сюжета и персонажей.

И в эту канву регулярно вклиниваются небольшие доработки, под настроение, чтобы поддерживать интерес к проекту, как свой, так и пользователей побаловать. Улыбающийся
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #16 : Март 19, 2015, 13:23 »

- разработка сценария - конструкторы сюжета и персонажей.
Вот не надо им это. Подмигивающий
И так смотреть нечего, а с такими конструкторами будет совсем однотипно. Улыбающийся
Записан
Dimka Novikov
Гость
« Ответ #17 : Март 19, 2015, 14:45 »

Old, здравствуйте. Не-не, эти конструкторы не будут "думать за сценариста", а лишь направлять его, помогать ему расшевелить фантазию, сбивать с инерции мышления и всё в таком роде. Так что наоборот должно будет появляться всё больше и больше стоящих картин!  Подмигивающий
« Последнее редактирование: Март 19, 2015, 14:49 от Dimka Novikov » Записан
Dimka Novikov
Гость
« Ответ #18 : Апрель 22, 2015, 13:01 »

Приветствую, коллеги.

Продолжим наше знакомство и сегодня поговорим о слое Модель предметной области.

Модель предметной области предназначена для сокрытия базы данных от верхних слоёв приложения, т.е. в приложении мы работаем с объектами (сценарием, персонажами, локациями и т.п.), а не с записями из базы.

Что внутри? Устройство слоя.

Давайте рассмотрим, как устроена логика работы слоя.


DomainObject - базовый класс для всех объектов модели предметной области. Т.к. объекты являются отражениями данных из базы, то они содержат поле идентификации (Identifier - обёртка над идентификатором записи из базы данных), методы для работы с ним, а так же вспомогательный функционал для отслеживания изменений объекта.

DomainObjectsItemModel - базовый класс для списков объектов. Наследуется от родной модели Qt, реализуя основной функционал и немного расширяет её. Это позволяет использовать преимущества, как самой модели предметной области, так и техники Qt Model/View Programming.

ConcreteObject и ConcreteObjectsItemModel здесь - это реальные представители модели предметной области.

Что внутри? Классы.

А вот и диаграмма со всеми представителями слоя.


Каждый из девяти объектов хранит всю необходимую информацию о себе, а так же имеет вспомогательные функции для работы со своими данными.

Вот примерно так и организована модель предметной области в моём приложении.

Как обычно, если у вас нашлись вопросы или замечания, буду очень рад обсудить их!
« Последнее редактирование: Апрель 22, 2015, 13:05 от Dimka Novikov » Записан
Dimka Novikov
Гость
« Ответ #19 : Январь 28, 2016, 15:12 »

История с uml-диаграммами не пошла у меня самого Улыбающийся

А проект тем временем значительно подрос. На сегодня зафиксировано более 7000 установок и около 800 постоянных пользователей!

Может быть вам будет интересно узнать, или обсудить реализации каких-нибудь возможностей?

Из того, что планировал уже реализовал:
- возможность размещения проекта в облаке и совместной работы над ним в режиме реального времени (а-ля гугл докс);
- режим рецензирования (т.е. можно выделять текст и оставлять к нему комментарии, вести обсуждения этих комментариев, помечать их как выполненные);



- импорт/экспорт в DOCX текста совместно с редакторскими пометками;
- статистика по сценарию/графики/отчёты и т.п.;





- разработка сценария - пока по сути сделал только мини-органайзер по этому вопросу, который позволяет хранить текстовые данные, картинки и ссылки + организовывать их в древовидную структуру.



Плюс немного освежил интерфейс программы и выпустил версию под Android.



А! Ещё хорошие люди помогли сделать испанский и французский переводы!:)

« Последнее редактирование: Январь 28, 2016, 15:28 от Dimka Novikov » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #20 : Январь 28, 2016, 16:26 »

Классно Улыбающийся
А как и через что работа в облаке реализована?
Записан

panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #21 : Январь 28, 2016, 16:29 »

Прикольно. Инструментарий разработки какой?
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Dimka Novikov
Гость
« Ответ #22 : Январь 28, 2016, 21:55 »

gil9red, спасибо.

Работа в облаке организована таким образом:
1. Развёрнут сервер, на котором крутится база данных и разработано api для доступа к ней.
2. Раз в пять секунд программа формирует патч с изменением (если оно было) и отправляет его на сервер, по пути забирая патчи от других активных в этот момент пользователей.
3. Патчи накладываются, происходит обновление текста и по-новой пункт 1.

Всю работу с формированием патчей, их наложением и т.п. делает библиотека google-diff-match-patch. Я лишь добавил к ней небольшой вспомогательный класс, который позволяет использовать её для работы с xml.

panAlexey, спасибо. Настольная и мобильная версия - всё полностью на Qt, веб-часть на php.
« Последнее редактирование: Январь 28, 2016, 21:57 от Dimka Novikov » Записан
Dimka Novikov
Гость
« Ответ #23 : Май 01, 2016, 15:18 »

Ребята, привет!

У нас на днях был зафиксирована десятитысячный пользователь! Проект растёт и развивается, в связи с чем ищу помощника. Очень мощный фидбек, плюс много собственных идей, что хотелось бы доделать или добавить нового и сам я уже не справляюсь...

Если вы хотите поучаствовать в проекте, то пишите, обсудим детали, задачи, стоимость работ.

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

Сотрудничество я вижу себе так:
1. Я ставлю задачу.
2. Вы изучаете код - оцениваете.
3. Вы предлагаете способ реализации - мы его обсуждаем.
4. Если меня всё устраивает - вы реализуете задачу и делаете pull request на github.
5. Я делаю ревью, если всё в порядке, то рассчитываемся и переходим к следующей задаче, если нет, то вносите доработки или заканчиваем отношения.

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

Что касается самих задач - это не будут только исправления ошибок. Это будет довольно широкий спектр задач. Например в первую очередь я бы хотел отдать вам на доработки модуль "Разработка". По сути, это банальный органайзер - дерево разнородных документов.

Что нужно будет сделать:
1. Реализовать перетаскивание элементов в дереве.
2. Реализовать фильтрацию элементов дерева.
3. Доработки виджета галереии изображений
3.1. Сделать возможность перемещаться к следующей фотке в режиме просмотра выбранной фотографии (такие стрелки влево-вправо по краям).
3.2. Сделать возможность drag&drop'а изображений в галерею из папок на компьютере и из браузера.
4. Найти легковесный опенсорсный редактор ментальных карт на Qt и встроить его в программу. Так, чтобы в разработке можно было создавать ментальные карты и редактировать их.

Пока всё Улыбающийся Если будут вопросы, или желание поучаствовать - пишите, обсудим.
Записан
Dimka Novikov
Гость
« Ответ #24 : Май 21, 2017, 16:55 »

Привет, коллеги! Решил освежить ветку - вдруг кому будет интересна дальнейшая судьба проекта!:)

Количество установок программы уже давно перевалило за 20 тысяч! В прошлом году ко мне присоединился ещё один разработчик - студент МГУ, который в своё свободное время тоже участвует в разработке. За прошедший год мы основательно улучшили облачный сервис, значительно развили модули разработки, редактора сценария и статистики, сделали кучу небольших, но полезных улучшений, всякие автоматические обновления и т.п. вещи, добавили модуль карточек, а потом полностью его переделали!:D Программа была переведена ещё на 4 языка (немецкий, казахский, португальский и украинский), в работе переводы на китайский, японский и фарси.

Вот, даже сделали небольшое видео об основных возможностях: https://www.youtube.com/watch?v=zg-BLExGWzE

Короче жизнь кипит!:)

Если вам будет интересно узнать что-нибудь о проекте в подробностях, то с удовольствием расскажу! Ну а если вы вдруг захотите стать соучастником, то добро пожаловать! А если решите скачать и попробовать - не удивляйтесь, в программе серьёзно доработан интерфейс в сравнении с версией на видео!

Весёлого дня, ребята!
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #25 : Май 22, 2017, 08:28 »

Давно о вас не слышно было Улыбающийся
Записан

Dimka Novikov
Гость
« Ответ #26 : Май 22, 2017, 09:08 »

Да как-то не было спроса, вот мы и не маячим Улыбающийся

Кстати, там у нас в проекте, родилась целая куча полезностей, может быть кому будет интересно - https://github.com/dimkanovikov/KITScenaristCore/tree/master/3rd_party/Widgets

Там есть много всего интересного, начиная от лайнэдита для ввода пароля, который имеет иконку "глазика" для отображения/скрытия символов пароля, редакторов текста с проверкой орфографии, заканчивая расширениями для анимации виджетов и коллекцией LightBox виджетов и диалогов, для реализации одноимённого эффекта.

Там не всё конечно наше, есть и заимствованные вещи, но в любом случае может быть полезной "библиотекой" расширений.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #27 : Май 22, 2017, 20:44 »

Кстати, там у нас в проекте, родилась целая куча полезностей, может быть кому будет интересно - https://github.com/dimkanovikov/KITScenaristCore/tree/master/3rd_party/Widgets
Возможно, библиотеки и полезная, но вы хотя-бы readme туда положили, одних названий папок категорически недостаточно.
Записан
Dimka Novikov
Гость
« Ответ #28 : Июнь 02, 2017, 09:08 »

xokc, спасибо за совет! Просто это как бы внутренняя папка проекта со вспомогательными вещами, как-то даже не задумывался о том, чтобы туда ридми добавить)
Записан
Dimka Novikov
Гость
« Ответ #29 : Август 12, 2017, 15:03 »

Привет, ребята! А мы на днях запилили мобильную версию программы и опубликовали в магазинах приложений Android и iOS!

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

А вот как выглядит вся эта красота:

Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.156 секунд. Запросов: 22.