Как стать автором
Обновить

Desktop приложение для хранения текстовой информации

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров14K

Всем привет! Меня зовут Алексей, я являюсь .NET разработчиком. Это моя первая статья на Хабре. Время от времени возникает необходимость где-то записывать различные вырезки из статей, инструкции, сниппеты с кодом и т. д. Раньше приходилось хранить все это в отдельных файлах в системе, но со временем их становилось все больше, и я начал забывать, что и где находится. Однажды возникла идея разработки Desktop приложения на WPF для удобного хранения текстовой информации в одном месте, чтобы можно было ее систематизировать и быстро находить.

Начал разработку в 2022 г. и продолжаю ее по сей день в свободное от основной работы время. На данный момент приложение имеет довольно неплохой функционал, оно получилось удобным и удалось реализовать практически все что требовалось на момент задумки. Приложение называется Data Organizer и предназначено для работы в ОС Windows.

Интерфейс

Интерфейс выполнен по принципу Master–detail, где в левой части экрана находится иерархический список папок и документов, напоминающий проводник в ОС Windows, а в правой, представление выбранного в списке документа. В данный момент реализованы следующие типы документов:

  • Простой текст - обычный текстовый документ с возможностью подсветки синтаксиса;

  • Форматированный текст - аналог документа docx;

  • Электронная таблица - аналог документа xlsx;

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

В планах добавить возможность хранения документов PDF.

Главное окно приложения - редактор
Главное окно приложения - редактор

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

Настройки приложения
Настройки приложения

Есть места, где локализация только английская, это диалог подключения к базе данных (очень много текста нужно перевести), в представлении документов с форматированным текстом и электронных таблицах для которых используются компоненты от Telerik (нужно будет найти время чтобы заняться этим).

Возможности

Есть возможность перетаскивать объекты в любое место в списке с помощью Drag-and-drop, а также с помощью клавиатуры комбинациями Alt+Up/Down в пределах папки.

Реализован поиск объектов как по названиям и тэгам (тэги служат для обобщения объектов в списке), так и по содержимому документов (в данный момент поиск по содержимому применяется к документам с простым и форматированным текстом).

Есть возможность экспорта всех данных в один XML или JSON файл, или в физические файлы, где каждому документу соответствует один файл на диске с учетом иерархии папок в списке. По такому же принципу реализован и импорт данных в приложение.

Присутствует история просмотров содержимого документов и история копирования содержимого.

Так же есть шифрование содержимого папки в списке (лучше пока не пользоваться, занимаюсь изменением подхода к шифрованию).

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

Режим «Избранное». Специальный режим работы, в котором приложение имеет минималистичный интерфейс для показа только избранных документов с простым текстом. Данный режим служит для быстрого нахождения и копирования в системный буфер обмена наиболее часто используемых порций текста. Режим становится доступным в меню, если в главном списке редактора есть избранные документы, которые назначаются с помощью контекстного меню нажатием на правую кнопку мыши. Так же в данном режиме есть просмотр истории копирования содержимого, для еще более быстрого повторного копирования текста.

Режим «Избранное»
Режим «Избранное»

Хранение данных

По умолчанию приложение использует для хранения данных локальную базу данных SQLite, создаваемую и находящуюся рядом с исполняемым файлом, но есть возможность подключения через специальный диалог к другой базе SQLite а так же к MySQL, Oracle, PostgreSQL, SQLServer.

Подключение к базе данных
Подключение к базе данных

Публикация

Приложение компилируется в портативную сборку x64, включающую в себя целевую платформу .NET 8, для удобства переноски на съемном носителе. Систему своими файлами и записями не засоряет, все необходимые для работы файлы, создает в папке рядом с исполняемым.

Заключение

Я хочу поделиться своим приложением бесплатно со всеми желающими. Возможно, кому-то оно будет так же полезным. Так как занимаюсь его разработкой в одиночку, я был бы очень благодарен за обратную связь (для этого можно использовать диалог «Техническая поддержка» в самом приложении). Буду рад предложениям по доработкам, улучшению, замечаниям, добавлению новых функций, выявленным багам и т.д.

Приложение находится в открытой папке на Яндекс диске и доступно по ссылке: https://disk.yandex.ru/d/jeUJ8m7PJYRu4g или qr-коду:

Ссылка на открытую папку с приложением
Ссылка на открытую папку с приложением

Я пытался найти действующий, не заблокированный на территории России ресурс для размещения скомпилированной сборки Data Organizer, но не удалось, если кто-нибудь сможет подсказать о существовании такого, буду очень благодарен.

Теги:
Хабы:
+11
Комментарии80

Публикации

Истории

Работа

Ближайшие события

Конференция HR API 2024
Дата14 – 15 июня
Время10:00 – 18:00
Место
Санкт-ПетербургОнлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область