Skip to content

Repository files navigation

GopherNote — это строго минималистичное веб-приложение для создания и управления заметками с поддержкой Markdown-превью и голосового ввода, а также уникальной системой контекстных цитат. Приложение построено на базе Blazor WebAssembly и работает полностью на стороне клиента (frontend-only), не требуя серверного бэкенда.

Разработка выполнена в стиле, вдохновлённом интерфейсами Notion и Evernote.


✨ Возможности

  • 🚀 Полный Client-Side: Высокая скорость работы, всё приложение выполняется прямо в вашем браузере.
  • 📝 Двухпанельный Markdown-редактор: Написание заметок с мгновенным визуальным рендерингом Markdown-синтаксиса (на базе библиотеки Markdig).
  • 🎙️ Голосовой ввод (Speech-to-Text): Поддержка диктовки текста заметок в реальном времени с автоматическим добавлением в редактор.
  • 💾 Надёжное локальное хранение: Автоматическое сохранение структуры заметок и выбранных настроек в localStorage.
  • 📌 Умное закрепление: Важные заметки можно закрепить () — они всегда будут оставаться вверху сетки и выделяться фирменной акцентной рамкой.
  • 🏷️ Интуитивные теги: Быстрое создание тегов и их удаление в один клик прямо внутри окна редактирования.
  • 🔍 Фильтрация и сортировка: Мгновенный поиск по тегам, а также сортировка заметок (сначала новые / сначала старые).
  • 🎨 Персонализация карточек: Возможность изменения цвета фона обложки путём выборов одного из 4-х представленных шаблонов.
  • 💬 Контекстные цитаты: Верхний интерактивный блок TopQuote, который выводит мотивирующие фразы в зависимости от состояния вашей базы заметок.

🛠️ Технологии

  • Фреймворк: Blazor .NET 8.0+ (WebAssembly Standalone)
  • Язык программирования: C# 12+
  • Парсер Markdown: Markdig
  • Интеграция с WebSpeech API: Распознавание речи через JavaScript Interop
  • Хранение данных: Браузерный localStorage (без внешних баз данных)

📁 Структура проекта

Поскольку проект является полностью клиентским, вся ключевая логика сосредоточена в основном репозитории приложения:

📁 GopherNote  
├── 📁 Components      # Переиспользуемые UI-компоненты (NoteCard, TopQuote, ThemeToggle, MarkdownView)  
├── 📁 Pages           # Основные экраны и страницы приложения (Home, EditNote)  
├── 📁 Services        # Клиентские сервисы (NoteService, QuoteService, SpeechService)  
├── 📁 Models          # Модели данных (Note)  
└── 📁 wwwroot         # Статические ресурсы, глобальные стили (theme.css, app.css) и JS-скрипты

📋 Требования

  • .NET SDK (версия 8.0 или выше)
  • Современный веб-браузер с поддержкой Web Speech API (рекомендуются браузеры на движке Chromium: Google Chrome, Microsoft Edge, Opera)
  • C# выше 12 версии (включительно)

🚀 Установка и запуск

  1. Клонируйте репозиторий:

    git clone https://github.com/legolordr/GopherNote
    
  2. Перейдите в папку проекта:

    cd GopherNote
    
  3. Восстановите зависимости:

    dotnet restore
    
  4. Запустите локальный веб-сервер:

    dotnet run --project GopherNote
    
  5. Откройте предоставленный в консоли локальный URL-адрес (например, http://localhost:5114) в вашем браузере.

💻 Использование

  • Создание и редактирование: Нажмите «Новая заметка» в сайдбаре. В режиме редактора левая панель предназначена для ввода текста и разметки, а правая мгновенно отображает итоговый результат.
  • Голосовой ввод: Нажмите кнопку «🎙 Голосовой ввод» и начните говорить. Текст будет автоматически добавляться в поле содержимого. По окончании нажмите кнопку остановки.
  • Поиск: Поле ввода в левой панели осуществляет мгновенную фильтрацию карточек по совпадению тегов.

🤝 Вклад в проект

Мы рады вашим Pull Request'ам! Чтобы внести свой вклад:

  1. Форкните репозиторий.
  2. Создайте ветку для своей фичи: git checkout -b feature/awesome-feature.
  3. Сделайте коммит ваших изменений: git commit -m 'Add awesome feature'.
  4. Запушьте ветку: git push origin feature/awesome-feature.
  5. Откройте Pull Request.

🔧 Стандарты оформления

  • Придерживайтесь официального C# Coding Conventions.
  • Компоненты Blazor и их файлы стилей называйте исключительно в PascalCase (например, NoteCard.razor, NoteCard.razor.css).

📞 Команда проекта

ФИО Роль в проекте
Зыков Марк Техлид / Архитектор
Барабанщиков Евгений QA-инженер
Ишмаметьев Денис Разработчик
Кузнецов Фёдор Разработчик
Чигарёв Илья Разработчик
  • Обратная связь: Баг-репорты, идеи и предложения по улучшению архитектуры принимаются через раздел Issues.
  • Описание технического задания: Репозиторий ТехЛида.

Поставьте звезду, если этот проект оказался вам полезен!

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages