mirror of
https://github.com/koloideal/Casha.git
synced 2026-06-10 02:15:29 +03:00
update
This commit is contained in:
@@ -1,17 +1,80 @@
|
||||
# casha
|
||||

|
||||
|
||||
A new Flutter project.
|
||||
**Casha** is a clean and minimal personal finance tracker for Android. It provides an intuitive way to manage your income and expenses with real-time balance tracking, budget control, and multi-currency support.
|
||||
|
||||
## Getting Started
|
||||
Casha is the **"Simplest"**, **"Most Elegant"**, and **"Most Focused"** way to take control of your personal finances on Android.
|
||||
|
||||
This project is a starting point for a Flutter application.
|
||||
---
|
||||
|
||||
A few resources to get you started if this is your first Flutter project:
|
||||
## ✨ Features
|
||||
|
||||
- [Learn Flutter](https://docs.flutter.dev/get-started/learn-flutter)
|
||||
- [Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
|
||||
- [Flutter learning resources](https://docs.flutter.dev/reference/learning-resources)
|
||||
- **Balance Card** — gyroscope-powered 3D tilt animation with live currency conversions (USD, EUR, BYN, RUB)
|
||||
- **Income & Expense tracking** — categorized transactions with icons, notes, and date
|
||||
- **Monthly Budget** — visual progress bar with over-budget warning
|
||||
- **Search & Filter** — instant search through transactions with All / Income / Expense filters
|
||||
- **Biometric Lock** — optional fingerprint protection on app launch
|
||||
- **Dark & Light theme** — automatic system theme support
|
||||
- **Multi-currency** — choose your primary currency in settings
|
||||
- **Amount formatting** — compact (1.2K) or full number display
|
||||
|
||||
For help getting started with Flutter development, view the
|
||||
[online documentation](https://docs.flutter.dev/), which offers tutorials,
|
||||
samples, guidance on mobile development, and a full API reference.
|
||||
## 📱 Screenshots
|
||||
|
||||
> _Add your screenshots here_
|
||||
|
||||
## 🚀 Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Flutter `^3.11.1`
|
||||
- Android SDK (min API 21)
|
||||
- JDK 17+
|
||||
|
||||
### Installation
|
||||
|
||||
Clone the repository:
|
||||
|
||||
```console
|
||||
$ git clone https://github.com/koloideal/casha.git
|
||||
$ cd casha
|
||||
```
|
||||
|
||||
Install dependencies:
|
||||
|
||||
```console
|
||||
$ flutter pub get
|
||||
```
|
||||
|
||||
Run in debug mode:
|
||||
|
||||
```console
|
||||
$ flutter run
|
||||
```
|
||||
|
||||
### Build release APK
|
||||
|
||||
```console
|
||||
$ flutter build apk --release
|
||||
```
|
||||
|
||||
### Build for Google Play
|
||||
|
||||
```console
|
||||
$ flutter build appbundle --release
|
||||
```
|
||||
|
||||
## 🛠 Tech Stack
|
||||
|
||||
| Layer | Technology |
|
||||
|-------|-----------|
|
||||
| Framework | Flutter 3 |
|
||||
| State management | Riverpod |
|
||||
| Navigation | go_router |
|
||||
| Charts | fl_chart |
|
||||
| Storage | shared_preferences |
|
||||
| Fonts | Google Fonts |
|
||||
| Sensors | sensors_plus |
|
||||
| Auth | local_auth |
|
||||
|
||||
---
|
||||
|
||||
MIT 2025 kolo | made by [kolo](https://t.me/kolo_id)
|
||||
|
||||
@@ -1,12 +1,20 @@
|
||||
import java.util.Properties
|
||||
import java.io.FileInputStream
|
||||
|
||||
plugins {
|
||||
id("com.android.application")
|
||||
id("kotlin-android")
|
||||
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
|
||||
id("dev.flutter.flutter-gradle-plugin")
|
||||
}
|
||||
|
||||
val keyProperties = Properties()
|
||||
val keyPropertiesFile = rootProject.file("key.properties")
|
||||
if (keyPropertiesFile.exists()) {
|
||||
keyProperties.load(FileInputStream(keyPropertiesFile))
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "com.example.casha"
|
||||
namespace = "com.kolo.casha"
|
||||
compileSdk = flutter.compileSdkVersion
|
||||
ndkVersion = flutter.ndkVersion
|
||||
|
||||
@@ -20,21 +28,25 @@ android {
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
||||
applicationId = "com.kolo.casha"
|
||||
// You can update the following values to match your application needs.
|
||||
// For more information, see: https://flutter.dev/to/review-gradle-config.
|
||||
minSdk = flutter.minSdkVersion
|
||||
targetSdk = flutter.targetSdkVersion
|
||||
versionCode = flutter.versionCode
|
||||
versionName = flutter.versionName
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
create("release") {
|
||||
keyAlias = keyProperties["keyAlias"] as String
|
||||
keyPassword = keyProperties["keyPassword"] as String
|
||||
storeFile = file(keyProperties["storeFile"] as String)
|
||||
storePassword = keyProperties["storePassword"] as String
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
// TODO: Add your own signing config for the release build.
|
||||
// Signing with the debug keys for now, so `flutter run --release` works.
|
||||
signingConfig = signingConfigs.getByName("debug")
|
||||
signingConfig = signingConfigs.getByName("release")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user