An open API service indexing awesome lists of open source software.

https://github.com/efedeveloper/my_finance

๐Ÿ’ธ My Finance โ€” Modern iOS Finance App
https://github.com/efedeveloper/my_finance

dart finance firebase flutter

Last synced: about 2 months ago
JSON representation

๐Ÿ’ธ My Finance โ€” Modern iOS Finance App

Awesome Lists containing this project

README

          

# ๐Ÿ’ธ My Finance โ€” Modern iOS Finance App

Landing page and personal finance management app built with Flutter. Designed for iOS, it offers a beautiful UI, secure authentication, and tools to track your expenses and income efficiently.

## ๐Ÿ—’๏ธ Table of Contents
- [Project Overview](#project-overview)
- [Tech Stack](#tech-stack)
- [Architecture & Technical Decisions](#architecture--technical-decisions)
- [Installation & Setup](#installation--setup)
- [Project Structure](#project-structure)
- [Best Practices & Conventions](#best-practices--conventions)
- [Contributing](#contributing)
- [License](#license)

## Project Overview
My Finance is a modular iOS application that helps you manage your personal finances. It features secure authentication, intuitive screens, and reusable components. The project focuses on a clean structure and modern design using Flutter and Material Design.

## Tech Stack
- **Flutter** ๐Ÿฆ โ€” Cross-platform app framework.
- **Dart** ๐Ÿ’™ โ€” Main programming language.
- **Firebase** ๐Ÿ”ฅ โ€” Authentication and backend.
- **Bloc** ๐ŸŸฆ โ€” Reactive state management.
- **Material Design** ๐ŸŽจ โ€” Modern and responsive UI.
- **Unit Testing** ๐Ÿงช โ€” Automated tests.

## Architecture & Technical Decisions
- Modular structure under `lib/` to keep features isolated.
- Bloc for scalable and reactive state management.
- Firebase integration for secure authentication and storage.
- Centralized themes and styles in `app_theme.dart`.
- Strict separation between business logic and UI.

## Installation & Setup
Make sure you have Flutter installed ([official guide](https://docs.flutter.dev/get-started/install)).

```zsh
git clone https://github.com/EfeDeveloper/my_finance.git
cd my_finance
flutter pub get

# Open the project in Xcode for iOS from the terminal
open ios/Runner.xcworkspace

# From Xcode, select a simulator and press Run to launch the app on iOS.

# Run unit tests
flutter test
```

## Project Structure
```
lib/
โ”œโ”€โ”€ app_theme.dart # Themes and styles
โ”œโ”€โ”€ firebase_options.dart # Firebase configuration
โ”œโ”€โ”€ main.dart # Entry point
โ”œโ”€โ”€ main_screen.dart # Main screen
โ”œโ”€โ”€ blocs/ # State management (Bloc)
โ”‚ โ””โ”€โ”€ auth/ # Auth bloc
โ”œโ”€โ”€ models/ # Data models
โ”œโ”€โ”€ repositories/ # Data access logic
โ”‚ โ””โ”€โ”€ auth_repository.dart # Auth repository
โ”œโ”€โ”€ screens/ # App screens
โ”œโ”€โ”€ utils/ # Utilities
โ””โ”€โ”€ widgets/ # Reusable components

android/ # Android platform files
ios/ # iOS platform files
macos/ # macOS platform files
web/ # Web platform files
windows/ # Windows platform files
pubspec.yaml # Project dependencies and config
README.md # Project documentation
LICENSE # License file
```

> All code in `lib/` is shared across every supported platform (iOS, Android, macOS, Windows, Linux, Web). Platform folders contain configuration and native files specific to each target.

## Best Practices & Conventions
- Semantic and clear commit messages.
- Small, functional components with strict typing.
- Separation of logic and UI for maintainability.
- Reuse components under `lib/widgets`.
- Unit tests to ensure quality.

## Contributing
1. Fork the repository and create a feature branch.
2. Write your code and add tests if applicable.
3. Make sure the app builds and tests pass.
4. Open a Pull Request describing your changes.

All contributions are welcome!

## License
This project is licensed under the [MIT License](LICENSE).