Thanks to visit codestin.com
Credit goes to github.com

Skip to content

nagasagar/splitspends

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

63 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SplitSpends – Smart Expense Sharing App

Effortless group expense tracking and bill splitting made easy for trips, roommates, and beyond.

A full-featured expense-sharing app with a Spring Boot backend and Flutter frontendβ€”intuitive for users, powerful for power users!


Spring Boot Flutter Java License

Requirements

  • User authentication: Sign up/in, Google SSO
  • Email verification on signup (pending)
  • Groups: Create/manage groups (e.g., trips, roommates)
  • Expenses: Add, edit, delete shared expenses in groups
  • Splitting logic: Even/uneven splits, settle-up calculations
  • Activity feed: Who paid what, notifications
  • Balances: Who owes whom and how much
  • Security: JWT for APIs, encrypted sensitive data
  • Attachments: Image upload for receipts (Cloudinary, S3, etc.)
  • Real-time updates: WebSocket for instant notifications

πŸš€ Key Features

πŸ‘₯ User Management

  • User registration and authentication
  • Google SSO integration
  • Profile management

🏠 Group Management

  • Create and manage expense groups
  • Invite members via email
  • Admin and member roles
  • Group activity feeds

πŸ’° Expense Tracking

  • Add, edit, and delete expenses
  • Multiple splitting methods (even/uneven splits)
  • Receipt attachment support
  • Expense categories and descriptions

πŸ”„ Settlement System

  • Smart settlement calculations
  • Settlement requests and confirmations
  • Payment tracking
  • Balance optimization

πŸ“± Real-time Features

  • Live notifications
  • Activity feed updates
  • Group member updates
  • Settlement status changes

πŸ“Ž File Management

  • Receipt image uploads
  • Document attachments
  • File validation and security
  • Storage management

Activity Feed:

  • Track expense activity
  • Track Group activity
  • Track Settlement activity

πŸ—οΈ Architecture

Backend (Spring Boot)

src/main/java/com/dasa/splitspends/
β”œβ”€β”€ entity/          # JPA entities
β”œβ”€β”€ repository/      # Data access layer
β”œβ”€β”€ service/         # Business logic
β”œβ”€β”€ controller/      # REST endpoints
└── config/          # Configuration classes

Frontend (Flutter)

lib/
β”œβ”€β”€ models/          # Data models
β”œβ”€β”€ services/        # API services
β”œβ”€β”€ screens/         # UI screens
β”œβ”€β”€ widgets/         # Reusable widgets
└── utils/           # Utility functions

πŸ› οΈ Technology Stack

Backend

  • Framework: Spring Boot 3.5.4
  • Language: Java 17
  • Database: PostgreSQL
  • Security: Spring Security + JWT
  • Documentation: Swagger/OpenAPI
  • Build Tool: Maven

Frontend

  • Framework: Flutter
  • Language: Dart
  • State Management: Provider/Bloc
  • HTTP Client: Dio
  • Local Storage: SharedPreferences/Hive

DevOps & Tools

  • Version Control: Git
  • IDE: VS Code, IntelliJ IDEA
  • API Testing: Postman
  • Database: PostgreSQL
  • Deployment: Docker, Railway/Heroku

πŸš€ Quick Start

Prerequisites

  • Java 17+
  • Flutter SDK
  • PostgreSQL
  • Maven
  • Git

Backend Setup

cd backend
mvn clean install
mvn spring-boot:run

The backend will be available at http://localhost:8080

Frontend Setup

cd frontend
flutter pub get
flutter run

Database Setup

  1. Install PostgreSQL
  2. Create database: splitspends_db
  3. Update application.properties with your database credentials

πŸ“š Documentation

πŸ§ͺ Testing

Backend Tests

cd backend
mvn test

Frontend Tests

cd frontend
flutter test

πŸ“± Screenshots

Home Screen Groups Expenses Settlements
Home Groups Expenses Settlements

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Nagasagar Dasa

πŸ™ Acknowledgments

  • Spring Boot community for excellent documentation
  • Flutter team for the amazing framework
  • All contributors who help make this project better

πŸ“Š Project Status

  • βœ… Backend API development
  • βœ… Database design and implementation
  • βœ… Authentication system
  • βœ… Group management
  • βœ… Expense tracking
  • βœ… Settlement system
  • 🚧 Frontend development (in progress)
  • 🚧 Real-time notifications
  • 🚧 Mobile app testing
  • 🚧 Deployment setup
  • πŸ› οΈ Email verification on signup (pending)

Made with ❀️ for better expense sharing

About

Smart expense sharing application with Spring Boot backend and Flutter frontend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •