SpendWise — это iOS-приложение для отслеживания расходов с минималистичным интерфейсом и поддержкой мультивалютности.
-
Авторизация: вход через email/password и Google (Firebase Auth), восстановление пароля, регистрация.
-
Учёт расходов:
- Создание, редактирование и удаление записей о расходах.
- Выбор даты, категории и встроенная валидация.
- Подтверждение удаления через
UIAlertController
.
-
Категории: предустановленные и пользовательские категории с иконками.
-
Мультивалютность:
- Выбор базовой валюты в настройках.
- Получение курсов через открытое API
jsdelivr
. - Авто-конверсия по всем трём валютам (
RUB
,USD
,EUR
).
-
Аналитика:
- Круговая диаграмма расходов по категориям.
- Фильтрация по дню, неделе, месяцу или произвольному диапазону.
-
Тема: светлая/тёмная.
-
Экспорт:
- Экспорт данных в CSV с возможностью шаринга.
-
Язык: Swift
-
UI: UIKit (MVVM + Router), Auto Layout
-
Слои:
- Core: общие сущности, модели и утилиты.
- Auth: модуль авторизации Firebase.
- Expenses: экраны создания/редактирования расходов.
- Settings: выбор темы и валюты.
- UIComponents: переиспользуемые UIView/Controllers.
- Router: навигация между экранами.
- Networking: сетевой слой для курсов валют.
- Persistence: Core Data для локального хранилища.
- Analytics: сбор и отображение статистики.
- Fastis: дополнительные фичи (календарь, карты).
-
Клонируйте репозиторий:
git clone https://github.com/yourusername/SpendWise.git cd SpendWise
-
Установите зависимости через XcodeGen и Swift Package Manager:
brew install xcodegen xcodegen generate
-
Откройте проект:
open SpendWise.xcodeproj
-
Убедитесь, что у вас есть GoogleService-Info.plist для Firebase Auth.
-
Запустите на симуляторе или устройстве с iOS 15+.
- Firebase Auth, GoogleSignIn
- Core Data (встроенная)
- Charts / CoreAnimation для диаграмм
- SwiftLint для linting
- XcodeGen для генерации проекта
- Форкните репозиторий.
- Создайте ветку
feature/<yourname>/XX-описание
. - Внесите изменения и напишите тесты.
- Откройте Pull Request в
develop
.
Спасибо за вклад! ❤️