ExpenSMS is an Android application that parses SMS messages to track and manage expenses. It's built using Kotlin and Jetpack Compose, providing a modern and efficient user interface for expense tracking.
- Automatic parsing of SMS messages for expense information
- Categorization and display of expenses
- Calendar view for easy navigation of expenses by date
- Adaptive layout for different screen sizes
- Dark mode support
- Kotlin
- Jetpack Compose
- Room Database
- Hilt for dependency injection
- Proto DataStore
- WorkManager for background tasks
- Compose Calendar
To get started with ExpenSMS, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/ExpenSMS.git
-
Open the project in Android Studio.
-
Sync the project with Gradle files.
-
Run the app on an emulator or physical device.
The project follows a standard Android app structure with the following key packages:
data
: Contains data models, database, and repositoriesdi
: Dependency injection modulesui
: Compose UI components and screensutils
: Utility classes and functionsworker
: Background workers for processing SMS messages
We welcome contributions to ExpenSMS! Here's how you can contribute:
-
Fork the repository.
-
Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
-
Make your changes and commit them with a descriptive commit message.
-
Push your changes to your fork:
git push origin feature/your-feature-name
-
Create a pull request to the main repository.
Please ensure your code follows the project's coding standards and includes appropriate tests.
To build the project:
./gradlew build
To run tests:
./gradlew test
This project is licensed under the MIT License. See the LICENSE file for details.
If you have any questions or suggestions, please open an issue on the GitHub repository.
Happy coding!