diff --git a/1.png b/1.png new file mode 100644 index 0000000..b66a5d0 Binary files /dev/null and b/1.png differ diff --git a/2.png b/2.png new file mode 100644 index 0000000..ed3a0e1 Binary files /dev/null and b/2.png differ diff --git a/3.png b/3.png new file mode 100644 index 0000000..a7ddd29 Binary files /dev/null and b/3.png differ diff --git a/4.png b/4.png new file mode 100644 index 0000000..1b9560f Binary files /dev/null and b/4.png differ diff --git a/5.png b/5.png new file mode 100644 index 0000000..80d3bf8 Binary files /dev/null and b/5.png differ diff --git a/README.md b/README.md index b53cf92..5687530 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,17 @@ # My Finance Planer - +![Screenshot](1.png) My Finance Planer is a fantastic application that helps you manage your finances and provides money-saving tips. It offers an intuitive user interface and useful features to help you achieve your financial goals. ## Features - **Financial Overview:** Display your account balances, income, and expenses in a clear and concise manner. +![Screenshot](3.png) - **Budget Management:** Define budgets for different categories and keep track of your spending. - **Savings Tips:** Receive regular savings tips and advice to reduce your expenses. +![Screenshot](5.png) - **Custom Goals:** Set personalized financial goals and track your progress. - **Monthly budget:** Set personalized monthly budget maximums and keep your spendings under control. +![Screenshot](4.png) ## Installation @@ -21,8 +24,9 @@ My Finance Planer is a fantastic application that helps you manage your finances 1. Upon opening the app, you will need to create one or more accounts. 2. Click on one account card to open the account details and add transactions. 3. Navigate through the various tabs to view your income, expense and budget check. -4. Tap the info button in the app bar to access the saving tips. +4. Tap the info button in the app bar to access the saving tips., 5. Configure your user settings and language through the settings menu. +![Screenshot](2.png) 6. Regularly update your expenses to stay on top of your financial situation. ## Contributors diff --git a/lib/account/account_detail.dart b/lib/account/account_detail.dart index cc837ee..98e49c4 100644 --- a/lib/account/account_detail.dart +++ b/lib/account/account_detail.dart @@ -186,6 +186,7 @@ class AccountDetailPageState extends State TabBar( controller: _tabController, labelColor: Colors.black, + labelStyle: const TextStyle(fontSize: 14), unselectedLabelColor: Colors.black54, indicator: MaterialIndicator( height: 4, diff --git a/lib/assets/translations/de-DE.json b/lib/assets/translations/de-DE.json index 5118589..9d23159 100644 --- a/lib/assets/translations/de-DE.json +++ b/lib/assets/translations/de-DE.json @@ -1,5 +1,5 @@ { - "title" : "Finanzplaner", + "title" : "My Finance Planner", "delete" : "Löschen", "deleteaccount" : "Account löschen", "sure" : "Sind Sie sicher, dass Sie dieses Konto löschen möchten?", @@ -22,5 +22,6 @@ "language": "Sprache", "currency": "Währung", "budget": "Budgetcheck", - "progress": "von deinem Budget ausgegeben" + "progress": "von deinem Budget ausgegeben", + "monthlyexpenses": "Monatliche Ausgaben" } \ No newline at end of file diff --git a/lib/assets/translations/en-US.json b/lib/assets/translations/en-US.json index af9fb86..1a209bf 100644 --- a/lib/assets/translations/en-US.json +++ b/lib/assets/translations/en-US.json @@ -1,5 +1,5 @@ { - "title" : "Financial Planner", + "title" : "My Finance Planner", "delete" : "Delete", "deleteaccount" : "Delete account", "sure" : "Are you sure you want to delete this account?", @@ -22,5 +22,6 @@ "language": "Language", "currency": "Currency", "budget": "Budget check", - "progress": "of your budget spent" + "progress": "of your budget spent", + "monthlyexpenses": "Monthly Expenses" } \ No newline at end of file diff --git a/lib/chart/expense_chart.dart b/lib/chart/expense_chart.dart index 5e66e62..b48e481 100644 --- a/lib/chart/expense_chart.dart +++ b/lib/chart/expense_chart.dart @@ -1,27 +1,54 @@ -import 'package:flutter/material.dart'; +import 'package:easy_localization/easy_localization.dart'; import 'package:syncfusion_flutter_charts/charts.dart'; import 'expense_data.dart'; +import 'package:flutter_neumorphic/flutter_neumorphic.dart'; class MonthlyExpensesChart extends StatelessWidget { final List data; - const MonthlyExpensesChart({super.key, required this.data}); + const MonthlyExpensesChart({Key? key, required this.data}) : super(key: key); @override Widget build(BuildContext context) { return SizedBox( - height: 300, - child: SfCartesianChart( - primaryXAxis: CategoryAxis(), - series: [ - ColumnSeries( - dataSource: data, - xValueMapper: (ExpenseData expense, _) => expense.month, - yValueMapper: (ExpenseData expense, _) => expense.amount, - color: Colors.blue, + height: 240, + child: Neumorphic( + style: NeumorphicStyle( + shape: NeumorphicShape.flat, + depth: 8, + intensity: 0.6, + surfaceIntensity: 0.25, + shadowLightColor: Colors.white, + shadowDarkColor: Colors.black87, + color: Colors.grey[100], + ), + child: SfCartesianChart( + primaryXAxis: CategoryAxis(), + series: _buildChartSeries(), + tooltipBehavior: TooltipBehavior(enable: true), + title: ChartTitle( + text: 'monthlyexpenses'.tr(), + textStyle: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), ), - ], + legend: Legend( + isVisible: false, + ), + ), ), ); } -} + + List> _buildChartSeries() { + return [ + ColumnSeries( + dataSource: data, + xValueMapper: (ExpenseData expense, _) => expense.month, + yValueMapper: (ExpenseData expense, _) => expense.amount, + color: Colors.blue.shade200, + ), + ]; + } +} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index b1e0d55..15765df 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,6 @@ import 'dart:convert'; import 'package:awesome_dialog/awesome_dialog.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_neumorphic/flutter_neumorphic.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:tests/preferences.dart'; @@ -30,6 +31,7 @@ class FinancialPlannerApp extends StatelessWidget { @override Widget build(BuildContext context) { + SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []); return MaterialApp( localizationsDelegates: context.localizationDelegates, supportedLocales: context.supportedLocales, @@ -128,8 +130,9 @@ class HomePageState extends State { ), actions: [ Padding( - padding: const EdgeInsets.only(right: 16.0, top: 3, bottom: 7), + padding: const EdgeInsets.only(right: 16.0, top: 2, bottom: 0), child: NeumorphicButton( + margin: EdgeInsets.only(bottom: 10), onPressed: () async { await Navigator.push( context,