Здравствуйте, гость ( Вход | Регистрация )
Diana | Дата 8.10.2023, 20:03 |
Привет, коллеги! Решил освежить ветку - вдруг кому будет интересна дальнейшая судьба проекта!:) Количество установок программы уже давно перевалило за 20 тысяч! В прошлом году ко мне присоединился ещё один разработчик - студент МГУ, который в своё свободное время тоже участвует в разработке. За прошедший год мы основательно улучшили облачный сервис, значительно развили модули разработки, редактора сценария и статистики, сделали кучу небольших, но полезных улучшений, всякие автоматические обновления и т.п. вещи, добавили модуль карточек, а потом полностью его переделали!:D Программа была переведена ещё на 4 языка (немецкий, казахский, португальский и украинский), в работе переводы на китайский, японский и фарси. Вот, даже сделали небольшое видео об основных возможностях: https://www.youtube.com/watch?v=zg-BLExGWzE Короче жизнь кипит!:) Если вам будет интересно узнать что-нибудь о проекте в подробностях, то с удовольствием расскажу! Ну а если вы вдруг захотите стать соучастником, то добро пожаловать! А если решите скачать и попробовать - не удивляйтесь, в программе серьёзно доработан интерфейс в сравнении с версией на видео! Весёлого дня, ребята! |
|
DOGG | Дата 25.1.2018, 10:04 |
Ребята, всем привет! А мы всё также развиваем наш Open Source проект. Некоторые говорят, что он уже стал на российском рынке стандартом, другие с этим не согласны, но мы тем не менее не отступаем и сейчас активно будем выходить на европейский рынок. В связи с чем, вновь объявляется поиск разработчиков для участия в проекте! Мне интересны ребята, которые умеют решать задачи. Если у вас нет большого опыта, то это ничего, я помогу во всём разобраться + постоянно делаю ревью, подсказываю в каких-то моментах. Главное, чтобы вам самим было интересно в этом поучаствовать и вы умели добиться результата. Ну а если есть большой опыт и вы хотите стать частью нашего проекта - круто! Есть очень много разноплановых задач. Куча задач по доработке самого приложения: тут и вещи связанные с GUI (чисто интерфейсные задачи, типа сделать фильтрацию в дереве, разработки графических редакторов [редактор схем, таймлайн], и другие [сейчас например есть желаение сделать диф-тулзу для сравнения версий сценариев]) и оптимизации/переработки некоторых алгоритмов, парсеры, есть задачки связанные с сетевым взаимодействием приложения и облачным сервисом; на бэкэнде нашего облачного сервиса тоже есть куда идей для развития. В общем не заскучаешь! Технологии, которые сейчас используем: desktop & mobile - Qt (GUI на QtWidgets), web - php (если вы захотите переписать сервис на go или node js - да пожалуйста, тут полная свобода). На всякий случай продублирую ссылку на исходники https://github.com/dimkanovikov/KITScenarist P.S. Студент, который вместе со мной развивает проект, устроился на стажировку в компанию мечты! Не то, чтобы я в этом виноват, но как приятно быть причастным!:) |
|
DOGG | Дата 21.5.2017, 17:59 |
Привет, коллеги! Решил освежить ветку - вдруг кому будет интересна дальнейшая судьба проекта!:) Количество установок программы уже давно перевалило за 20 тысяч! В прошлом году ко мне присоединился ещё один разработчик - студент МГУ, который в своё свободное время тоже участвует в разработке. За прошедший год мы основательно улучшили облачный сервис, значительно развили модули разработки, редактора сценария и статистики, сделали кучу небольших, но полезных улучшений, всякие автоматические обновления и т.п. вещи, добавили модуль карточек, а потом полностью его переделали!:D Программа была переведена ещё на 4 языка (немецкий, казахский, португальский и украинский), в работе переводы на китайский, японский и фарси. Вот, даже сделали небольшое видео об основных возможностях: https://www.youtube.com/watch?v=zg-BLExGWzE Короче жизнь кипит!:) Если вам будет интересно узнать что-нибудь о проекте в подробностях, то с удовольствием расскажу! Ну а если вы вдруг захотите стать соучастником, то добро пожаловать! А если решите скачать и попробовать - не удивляйтесь, в программе серьёзно доработан интерфейс в сравнении с версией на видео! Весёлого дня, ребята! |
|
DOGG | Дата 22.4.2015, 13:04 |
Приветствую, коллеги. Продолжим наше знакомство и сегодня поговорим о слое Модель предметной области. Модель предметной области предназначена для сокрытия базы данных от верхних слоёв приложения, т.е. в приложении мы работаем с объектами (сценарием, персонажами, локациями и т.п.), а не с записями из базы. Что внутри? Устройство слоя. Давайте рассмотрим, как устроена логика работы слоя. DomainObject - базовый класс для всех объектов модели предметной области. Т.к. объекты являются отражениями данных из базы, то они содержат поле идентификации (Identifier - обёртка над идентификатором записи из базы данных), методы для работы с ним, а так же вспомогательный функционал для отслеживания изменений объекта. DomainObjectsItemModel - базовый класс для списков объектов. Наследуется от родной модели Qt, реализуя основной функционал и немного расширяет её. Это позволяет использовать преимущества, как самой модели предметной области, так и техники Qt Model/View Programming. ConcreteObject и ConcreteObjectsItemModel здесь - это реальные представители модели предметной области. Что внутри? Классы. А вот и диаграмма со всеми представителями слоя. Каждый из девяти объектов хранит всю необходимую информацию о себе, а так же имеет вспомогательные функции для работы со своими данными. Вот примерно так и организована модель предметной области в моём приложении. Как обычно, если у вас нашлись вопросы или замечания, буду очень рад обсудить их! |
|
DOGG | Дата 18.3.2015, 14:24 |
Всем привет. Сегодня хочу рассказать об архитектуре проекта в общих чертах. Итак, вся система разбита на шесть слоёв: Вверху на картинке показаны два общедоступных слоя (т.е. знать о них разрешено любой функции/классу из любого другого слоя): 1. Модель предметной области Фактически представляет собой отображение схемы базы данных в объекты. 2. Вспомогательные элементы Здесь находятся все универсальные решения, а так же все сторонние решения, обнаруженные в интернете. В основном это виджеты и делегаты, но так же есть несколько вспомогательных классов, которые используются повсеместно в проекте. Далее идут слои, являющиеся пожалуй, основными составляющими программы. Слева идут три слоя, которые замыкаются на себе, т.е. им разрешено знать о сущностях находящихся в собственном слое, а так же о сущностях общедоступных слоёв. Управленческий же слой берёт на себя обязанность по координации взаимодействия между всеми слоями приложения. Это моя своеобразная интерпретация паттерна модель-представление-контроллер. Т.к. слои независимы, они легко разносятся, что облегчает создание новых систем на основе имеющейся. Дальше чуть более подробно о каждом из них: 3. Слой хранения и обработки данных Скрывает в себе три подслоя, которые в свою очередь предоставляют: а) интерфейс доступа к базе данных; б) загрузку данных из базы и преобразование их в модель предметной области; в) собственно доступ к загруженным объектам. 4. Слой бизнес логики Сосредотачивает в себе все тонкости работы с киносценарием: подсчёт хронометража, построение структуры сценария, импорт/экспорт сценария из/в документы различных форматов и т.д. 5. Слой пользовательского интерфейса Мне нравится, когда интерфейс тупой, просто отправляет сигналы в нужный момент и загружает предоставляемые ему данные в заданные поля. Но в данном проекте есть одно большое исключение - это собственно сам редактор сценария (ScenarioTextEdit). Он вместе с группой зависимых классов является, как представителем слоя пользовательского интерфейса, так и входит в управленческий слой. Сделано это потому, что сам редактор довольно специфичный и разделение его на два независимых класса принесло бы больше проблем/сложностей/трудозатрат, чем их объединение. 6. Управленческий слой Как и говорилось раньше, этот слой берёт на себя ответственность за координацию взаимодействия между всеми слоями приложения, от первого пункта меню, до вопроса о сохранении редактируемого проекта при закрытии программы. Вот так выглядит самый верхний срез устройства программы. Постепенно я буду выкладывать всё более детальные подробности, если вас что-то заинтересовало, вы хотите что-нибудь покритиковать, или уточнить - УРА! Пишите, мне очень интересно ваше мнение. |
|
DOGG | Дата 27.1.2015, 11:57 |
Iron Bug, спасибо за совет, но я и не хотел её рекламировать Дело в том, что в программе ведь есть и техническая сторона - код. Вот мне и хотелось бы себя показать, может быть те решения, которые применены в этом проекте будут кому-то полезны, или может быть кто-нибудь даст дельный совет, как что-то можно улучшить. А со сценаристами мы уже давно и плотно работаем. В общем решено, попробую писать небольшие обзорные статьи по внутреннему устройству программы. |
|
Iron Bug | Дата 26.1.2015, 15:43 |
думаю, что такие вещи лучше рекламировать на профильных сайтах. там, где сценаристы тусуются, например. а программисту такой софт вряд ли пригодится. у нас тут в основном вопросы программирования обсуждают и темы смежного софта, который нужен в программировании и отладке. | |
DOGG | Дата 26.1.2015, 13:13 |
Как бы тему-то развеселить? Может быть вам было бы интересно узнать какие-то технические моменты? | |
DOGG | Дата 5.11.2014, 16:38 |
Flex Ferrum, здравствуйте. Принципиально тем, что опенсорс. | |
Flex Ferrum | Дата 5.11.2014, 16:28 |
А чем принципиально отличается от Scrivener или FinalDraft? | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 4.12.2024, 15:37 |