Skip to content

nguyenchuong98/ExpenseTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ExpenseTracker 🏦

GitHub release GitHub issues

Welcome to ExpenseTracker, a domain-based expense tracker app designed with a focus on clean architecture and the repository pattern. This application aims to help users manage their finances efficiently, providing a user-friendly interface built with SwiftUI and a robust backend powered by Swift's concurrency features.

Table of Contents

  1. Features
  2. Technologies Used
  3. Getting Started
  4. Usage
  5. Contributing
  6. License
  7. Contact

Features

  • Domain-Driven Design: The app follows domain-driven design principles to ensure a clear separation of concerns and maintainability.
  • Clean Architecture: It employs clean architecture, making the codebase easy to navigate and modify.
  • SwiftUI Interface: A modern and responsive user interface built with SwiftUI, ensuring a seamless user experience.
  • Unit Testing: Comprehensive unit tests to ensure the reliability and correctness of the application.
  • Dependency Injection: Use of dependency injection for better testability and modularity.
  • Swift Concurrency: Utilizes Swift's concurrency features for efficient data handling and performance.
  • Data Management: Integrates with SwiftData for efficient data storage and retrieval.

Technologies Used

  • Swift: The primary programming language for building the application.
  • SwiftUI: Framework for building the user interface.
  • Swift Concurrency: For managing asynchronous tasks.
  • Unit Testing: To ensure code quality.
  • Dependency Injection: To improve code modularity.
  • Repository Pattern: For data management and separation of concerns.
  • MVVM: Follows the Model-View-ViewModel architectural pattern.

Getting Started

To get started with the ExpenseTracker app, you can download the latest release from the Releases section. After downloading, follow the instructions below to set up the project on your local machine.

Prerequisites

  • Xcode 12 or later
  • macOS 10.15 or later
  • Basic knowledge of Swift and SwiftUI

Installation

  1. Clone the repository:

    git clone https://github.com/nguyenchuong98/ExpenseTracker.git
  2. Navigate to the project directory:

    cd ExpenseTracker
  3. Open the project in Xcode:

    open ExpenseTracker.xcodeproj
  4. Build and run the app on your simulator or device.

Usage

Once the app is running, you can start tracking your expenses. The user interface allows you to add, edit, and delete expense entries easily. You can categorize expenses and view summaries to better understand your spending habits.

Key Features in the App

  • Add Expense: Quickly add a new expense with details such as amount, category, and date.
  • Edit Expense: Modify existing expenses if you need to make changes.
  • Delete Expense: Remove expenses that are no longer relevant.
  • View Summary: Get an overview of your expenses categorized by type.

Contributing

We welcome contributions to ExpenseTracker. If you would like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them.
  4. Push your changes to your forked repository.
  5. Open a pull request to the main repository.

Please ensure your code follows the existing style and includes tests where applicable.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any questions or feedback, feel free to reach out:

For the latest updates and releases, please visit the Releases section.


Thank you for checking out ExpenseTracker! We hope this app helps you manage your expenses effectively.