Expenses Tracker app helps to track incomes & expenses.
This app is built using Flutter with modular structure and clean architecture.
Used Getx for Sate Maangement, Navigation Management and Dependency Management
This application is using Firebase Auth for user registration and login. Using Firebase Realtime DateBase for saving the user's incomes and expenses and to track them.
In acces Firsebase Auth and Realtime Database add your project in Firebase console. Once you add your project make sure update the firebase details in firebase_options.dart file.
apiKey: 'API KEY',
appId: "APP ID",
messagingSenderId: "SENSDER ID",
projectId: "Android PROJECT ID",
databaseURL: "DATABASE URL"
Below is the tables using in Firebase Realtime Database
users, expenses, incomes, categories, categorieTypes and countries
Here are the rules to access the Realtime Database data
{
"rules": {
"categorieTypes": {
".read": true,
},
"categories": {
".read": true,
".write": "auth != null"
},
"countries": {
".read": true
},
"users": {
"$uid": {
".read": "auth != null && $uid === auth.uid",
".write": "auth != null && $uid === auth.uid"
}
},
"expenses": {
"$uid": {
".read": "auth != null && $uid === auth.uid",
".write": "auth != null && $uid === auth.uid"
}
},
"incomes": {
"$uid": {
".read": "auth != null && $uid === auth.uid",
".write": "auth != null && $uid === auth.uid"
}
}
}
}