[Декабрь 2024] [Net. MAUI 0/9] Приложение: Личный финансовый менеджер

Основные функции приложения:
- Ведение доходов и расходов.
- Категоризация транзакций.
- Графическое отображение статистики (диаграммы).
- Напоминания о платежах.
- Синхронизация данных между устройствами (облако).
- Локализация (многоязычная поддержка).
Этапы разработки:
1. Введение
- Обзор .NET 8 и MAUI: преимущества и особенности.
- Установка инструментов: Visual Studio, SDK и эмуляторы.
- Настройка среды разработки для Windows и macOS.
2. Основы проекта
- Создание структуры приложения: App.xaml, страницы HomePage, AddTransactionPage, SettingsPage.
- Обзор MVVM-паттерна: создание ViewModel для главной страницы.
- Подготовка моделей данных: Transaction, Category.
3. Пользовательский интерфейс
- Главная страница:
- Отображение списка транзакций (сортировка по дате).
- Общий баланс и раздельный счет доходов/расходов.
- Добавление транзакции:
- Форма с полями: сумма, категория, дата, комментарий.
- Валидация данных.
- Настройки:
- Смена валюты.
- Переключение темного/светлого режима.
4. Работа с локальными данными
- Подключение SQLite:
- Создание базы данных для хранения транзакций и категорий.
- CRUD-операции (добавление, редактирование, удаление записей).
- Сохранение настроек пользователя (валюта, тема) через Preferences.
5. Графическая статистика
- Построение диаграмм:
- Расходы по категориям (круговая диаграмма).
- Доходы и расходы за месяц (столбчатая диаграмма).
- Использование библиотек для графиков (например, Microcharts).
6. Взаимодействие с устройством
- Уведомления о предстоящих платежах:
- Использование Local Notifications для напоминаний.
- Импорт/экспорт данных:
- Генерация CSV-отчета о транзакциях.
- Импорт данных из файлов.
7. Облачная синхронизация
- Интеграция с REST API (Firebase или Azure):
- Хранение данных в облаке.
- Авторизация пользователя (e-mail и пароль).
- Реализация оффлайн-режима:
- Синхронизация локальной и облачной базы данных.
8. Публикация
- Добавление иконок и сплэш-скрина.
- Настройка сертификатов для публикации в Google Play и App Store.
- Проверка на разных устройствах.
9. Дополнительные функции
- Поддержка нескольких языков (локализация через Resx-файлы).
- Сканирование чеков через камеру и распознавание текста (OCR).
- Адаптация интерфейса для планшетов.