Skip to content

Praveennaik8/PennyWise

Repository files navigation

PennyWise

A Smart Expense Tracking & Financial Management App

Introduction

PennyWise is a simple expense tracking app works by parsing bank transaction SMS.

Technology & Project Introduction

PennyWise is built with Flutter 3.x and uses GetX for state management, providing a robust and scalable architecture for expense tracking and financial management. The project features a clean folder structure, customizable themes, API integration, efficient state management, and comprehensive routing. Technologies used include but are not limited to Flutter, Dart, GetX, and more.

Installation & Use

Step 1:

Clone this project to your local machine:

git clone https://github.com/Praveennaik8/PennyWise.git

Step 2:

Open the project folder with VS Code and execute the following command to install the dependency package:

flutter pub get

Step 3:

Open the main.dart file in the lib folder, F5 or Ctrl + F5 to run the project, and then you can start developing and debugging.

Folder structure

The following is the project folder structure (only the folders under lib are introduced)

lib/
|- api - Global Restful api requests, including interceptors, etc.
   |- interceptors - Interceptors, including auth, request, and response interceptors.
   |- api.dart - Restful api export file.
|- lang - Internationalization, including translation files, translation service files, etc.
   |- lang.dart - Language export file.
|- models - Various structured entity classes, divided into request and response entities.
   |- models.dart - Entity class export file.
|- modules - Business module folder.
   |- auth - Login & Registration Module.
   |- home - Home module.
   |- splash - Splash module.
   |- modules.dart - Module export file.
|- routes - Routing module.
   |- app_pages.dart - Routing page configuration.
   |- app_routes.dart - Route names.
   |- routes.dart - Route export file.
|- Shared - Global shared folders, including static variables, global services, utils, global Widgets, etc.
   |- shared.dart - Global shared export file.
   |- parsers/ - You can add your custom parser here
|- theme - Theme folder.
|- app_bindings.dart - Services started before the app runs, such as Restful api.
|- di.dart - Global dependency injection objects, such as SharedPreferences, etc.
|- main.dart - Main entry.

Android APK Installations:

NOTE: IOS doesn't support SMS listing. don't ask me why I chose flutter only for android.


Initially forked from https://github.com/KevinZhang19870314/flutter_getx_boilerplate

About

PennyWise is a simple expense tracking app works by parsing bank transaction SMS.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors