Кроссплатформенное десктопное приложение для создания и обмена текстовыми заметками (постами), написанное на C# с использованием фреймворка Avalonia UI.
| Авторизация | Создание поста | Поиск и просмотр |
|---|---|---|
![]() |
![]() |
![]() |
- 🔐 Безопасность: Система регистрации и входа с хешированием паролей.
- 📝 Гибкость контента: Создание заметок с настройкой срока жизни (1 день, неделя, месяц).
- 🕶️ Приватность: Поддержка публичных и приватных постов.
- 👍 Система оценки: Полноценный функционал лайков и дизлайков для взаимодействия с контентом.
- 🔗 Быстрый доступ: Поиск нужной заметки по уникальному идентификатору (URL).
- Язык: C# (.NET 9.0)
- Интерфейс: Avalonia UI (архитектура MVVM)
- База данных: SQLite (локальное хранилище для портативности)
- Архитектура: Использование паттерна Service для управления данными.
Примечание по БД: Изначально проект разрабатывался под PostgreSQL, однако для обеспечения портативности и возможности запуска "из коробки" (без настройки сервера БД) проект был успешно мигрирован на SQLite. Архитектура сохраняет гибкость для быстрого возврата к PostgreSQL.
Проект спроектирован с учетом дальнейшего масштабирования.
-
👤 Персональный профиль (User Dashboard):
- Полноценное окно управления своими публикациями.
- Возможность удаления и редактирования старых постов.
- Подробная статистика: общее количество просмотров и накопленных лайков.
-
📈 Алгоритм «Справедливых рекомендаций»:
- Внедрение системы рекомендаций постов на основе индекса популярности:
$$Index = \frac{Likes_{post}}{Dislikes_{post}} + \frac{Likes_{author}}{Dislikes_{author}} + Random_{coeff}$$ - Эффект равенства: Использование случайного коэффициента в формуле позволит новым авторам попадать в общую ленту наравне с популярными.
- Внедрение системы рекомендаций постов на основе индекса популярности:
-
🔔 Система уведомлений и подписок:
- Возможность подписываться на авторов.
- Реализация библиотеки сообщений (в стиле веб-мессенджеров) для мгновенного уведомления о новых публикациях.
- Клонируйте репозиторий:
git clone https://github.com/Ruslik404/PastebinApp.git


