Кроссплатформенное мобильное приложение на .NET MAUI для создания и хранения заметок.
Главная особенность проекта — гибридная система хранения. Пользователь сам решает, где хранить каждую конкретную заметку: только на устройстве (локально) или синхронизировать её с облаком (Firebase).
- Аутентификация: Регистрация и вход пользователей через Email/Пароль (Firebase Authentication).
- Гибридное хранение:
- 📁 Локально: Заметки сохраняются в JSON-файл на устройстве. Доступны всегда, даже без интернета.
- ☁️ Облако: Заметки сохраняются в Firebase Realtime Database. Доступны с любого устройства после входа.
- Визуальная индикация:
- 🟩 Зеленый фон: Заметка в облаке.
- ⬛ Черный/Серый фон: Локальная заметка.
- Offline-режим: Возможность использовать приложение без входа в аккаунт (только локальное хранение).
- Индикатор сети: Отображение статуса подключения к интернету в реальном времени.
- Поиск: Фильтрация заметок по содержимому.
- Платформа: .NET 8 MAUI (Android, iOS, Windows, Mac).
- Язык: C#, XAML.
- Архитектура: Code-Behind / Services.
- Backend: Firebase (используется REST API напрямую через
HttpClient). - Данные:
System.Text.Jsonдля сериализации.- Firebase Realtime Database для облака.
- Локальная файловая система (
FileSystem.AppDataDirectory) для оффлайн-заметок.
Views/— Страницы приложения (Login, Registration, NotesList, NoteEdit).Services/— Логика работы с данными:FirebaseService.cs— Взаимодействие с Firebase Auth и Database через REST API.LocalNoteService.cs— Чтение и запись локальногоnotes.json.
Models/— Описание сущностейUserиNote.
-
Клонируйте репозиторий:
git clone [https://github.com/ваше-имя-пользователя/CloudNotesApp.git](https://github.com/ваше-имя-пользователя/CloudNotesApp.git)
-
Настройка Firebase:
- В файле
Services/FirebaseConfig.csнеобходимо указать ваши ключи от проекта Firebase:
public static class FirebaseConfig { public static string ApiKey = "ВАШ_API_KEY"; public static string DatabaseUrl = "ВАШ_URL_БАЗЫ_ДАННЫХ"; }
Примечание: Для работы авторизации в консоли Firebase должен быть включен метод входа "Email/Password", а для базы данных Realtime Database — настроены правила чтения/записи.
- В файле
-
Запуск:
- Откройте проект в Visual Studio 2022.
- Выберите целевую платформу (например, Android Emulator или Windows Machine).
- Нажмите Play
▶️ .
| Экран входа | Список заметок | Редактирование |
|---|---|---|
![]() |
![]() |
![]() |
- Внедрение архитектуры MVVM (CommunityToolkit.Mvvm).
- Внедрение Dependency Injection для сервисов.
- Шифрование локальных заметок.
- Улучшение дизайна UI/UX.
Автор: [Ilya]


