Skip to content

Ruslik404/PastebinApp

Repository files navigation

📝 Pastebin Desktop

Кроссплатформенное десктопное приложение для создания и обмена текстовыми заметками (постами), написанное на C# с использованием фреймворка Avalonia UI.


📸 Интерфейс приложения

Авторизация Создание поста Поиск и просмотр
SearchPost

✨ Основные возможности

  • 🔐 Безопасность: Система регистрации и входа с хешированием паролей.
  • 📝 Гибкость контента: Создание заметок с настройкой срока жизни (1 день, неделя, месяц).
  • 🕶️ Приватность: Поддержка публичных и приватных постов.
  • 👍 Система оценки: Полноценный функционал лайков и дизлайков для взаимодействия с контентом.
  • 🔗 Быстрый доступ: Поиск нужной заметки по уникальному идентификатору (URL).

🛠 Технологический стек

  • Язык: C# (.NET 9.0)
  • Интерфейс: Avalonia UI (архитектура MVVM)
  • База данных: SQLite (локальное хранилище для портативности)
  • Архитектура: Использование паттерна Service для управления данными.

Примечание по БД: Изначально проект разрабатывался под PostgreSQL, однако для обеспечения портативности и возможности запуска "из коробки" (без настройки сервера БД) проект был успешно мигрирован на SQLite. Архитектура сохраняет гибкость для быстрого возврата к PostgreSQL.


🗺 Планы по развитию (Roadmap)

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

  • 👤 Персональный профиль (User Dashboard):

    • Полноценное окно управления своими публикациями.
    • Возможность удаления и редактирования старых постов.
    • Подробная статистика: общее количество просмотров и накопленных лайков.
  • 📈 Алгоритм «Справедливых рекомендаций»:

    • Внедрение системы рекомендаций постов на основе индекса популярности: $$Index = \frac{Likes_{post}}{Dislikes_{post}} + \frac{Likes_{author}}{Dislikes_{author}} + Random_{coeff}$$
    • Эффект равенства: Использование случайного коэффициента в формуле позволит новым авторам попадать в общую ленту наравне с популярными.
  • 🔔 Система уведомлений и подписок:

    • Возможность подписываться на авторов.
    • Реализация библиотеки сообщений (в стиле веб-мессенджеров) для мгновенного уведомления о новых публикациях.

🚀 Как запустить

  1. Клонируйте репозиторий:
    git clone https://github.com/Ruslik404/PastebinApp.git

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages