A modern expense tracking application built with Expo and React Native that helps users manage their finances efficiently. The app features a clean, dark-themed UI with smooth animations and comprehensive financial management capabilities.
The following screenshot shows multiple screens of the app in one view:
- Secure Firebase authentication
- User profile management with customizable avatars
- Add, edit, and delete transactions
- Categorize expenses and income
- Advanced transaction search functionality
- Date-based transaction filtering
- Attach images to transactions
- Dark mode interface
- Smooth animations using React Native Reanimated
- Responsive design for all screen sizes
- Intuitive navigation with Expo Router
- Framework: React Native with Expo
- Language: TypeScript
- Backend: Firebase (Authentication & Firestore)
- State Management: React Context API
- Navigation: Expo Router
- UI Components: Custom components with React Native
- Animations: React Native Reanimated
- Icons: Phosphor React Native
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI
npm install -g expo-cli- Clone the repository
git clone https://github.com/abuhasanrumi/expense-tracker-app.git
cd expense-tracker-app- Install dependencies
npm install-
Set up Firebase
- Create a new Firebase project
- Enable Authentication and Firestore
- Create a web app in your Firebase project
- Copy the Firebase config
- Create
config/firebase.tsand add your Firebase configuration
-
Start the development server
npx expo start- Install EAS CLI
npm install -g eas-cli- Login to Expo
eas login- Configure EAS Build
eas build:configure- Build for Android
# Development build
eas build -p android --profile development
# Production build
eas build -p android --profile production- Build for iOS
# Development build
eas build -p ios --profile development
# Production build
eas build -p ios --profile production- Uses TypeScript for type safety
- Implements custom hooks for data fetching
- Features real-time updates using Firebase
- Follows modular architecture
- Implements secure authentication flow
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Abu Hasan Rumi - GitHub