A comprehensive personal finance management application with AI-powered insights to help users track spending, analyze patterns, and make better financial decisions.
- Transaction Management: CRUD operations for personal transactions
- AI-Powered Insights: OpenAI integration for intelligent spending analysis
- Category-based Analysis: Track spending by categories (Food, Bills, Entertainment, etc.)
- RESTful API: Clean, documented endpoints for easy integration
- Cross-platform: Works on iOS and Android
- Modern UI: Beautiful, intuitive interface
- Real-time Updates: Sync with backend API
- Offline Support: Local data caching
- Spending Pattern Analysis: Identifies excessive spending in specific categories
- Personalized Recommendations: AI-generated advice for saving money
- Smart Categorization: Automatic transaction categorization
- Financial Health Monitoring: Tracks overall financial wellness
easy_budget/
βββ api/ # Spring Boot Backend
β βββ controller/ # REST API endpoints
β βββ service/ # Business logic layer
β βββ model/ # JPA entities
β βββ repository/ # Data access layer
β βββ infrastructure/ # External service clients
βββ mobile/ # React Native Frontend
β βββ app/ # Main app screens
β βββ components/ # Reusable UI components
β βββ hooks/ # Custom React hooks
βββ docker-compose.yaml # Database setup
- Java 21 with Spring Boot 3.5.3
- Spring Data JPA for database operations
- PostgreSQL for data persistence
- OpenAI API for AI-powered insights
- Maven for dependency management
- React Native with Expo
- TypeScript for type safety
- Expo Router for navigation
- Custom UI Components for consistent design
- Docker Compose for local development
- PostgreSQL database
- RESTful API design
- Java 21
- Node.js 18+
- Docker and Docker Compose
- OpenAI API key
git clone https://github.com/yourusername/easy_budget.git
cd easy_budgetCreate api/src/main/resources/application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/easy_budget
spring.datasource.username=postgres
spring.datasource.password=password
openai.api.key=your_openai_api_key_heredocker compose up -dcd api
chmod +x ./mvnw
./mvnw clean install
mvn spring-boot:runcd mobile
npm install
npx expo startGET /transactions- Get all transactionsGET /transactions/{id}- Get specific transactionPOST /transactions- Create new transactionPUT /transactions/{id}- Update transactionDELETE /transactions/{id}- Delete transactionGET /transactions/category/{category}- Get transactions by categoryGET /transactions/category/{category}/total- Get total spending by category
GET /transactions/insights- Get AI-powered spending insights
The app uses OpenAI's GPT-4 to provide intelligent financial insights:
- Spending Pattern Recognition: Identifies excessive spending in categories like fast food
- Cost-Saving Recommendations: Suggests alternatives and money-saving strategies
- Financial Health Analysis: Provides overall financial wellness assessment
- Personalized Advice: Tailored recommendations based on individual spending habits
- Budget Tracking: Monitor daily spending and stay within budget limits
- Expense Analysis: Understand where money is being spent
- Financial Planning: Use AI insights to make better financial decisions
- Spending Optimization: Identify areas to reduce unnecessary expenses
cd api
mvn spring-boot:runcd mobile
npx expo startdocker compose up -d # Start database
docker compose down # Stop database- TransactionService: Handles transaction CRUD operations
- InsightsService: Manages AI-powered financial insights
- OpenAiService: Integrates with OpenAI API for analysis
- Tab Navigation: Explore and main dashboard
- Transaction List: View and manage transactions
- Insights Display: Show AI-generated recommendations
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the AI capabilities
- Spring Boot team for the excellent framework
- Expo team for the React Native development platform