This repository is archived and no longer maintained. The project has been migrated to a new repository with an updated tech stack (Flutter + Spring Boot).
Status: Archived | New Repository: [Link to be added]
A modern, full-stack expense splitting application built with Spring Boot and React. Split bills, track group expenses, and settle debts with friends and family effortlessly.
- ๐ฏ Smart Expense Splitting - Automatically calculate who owes what
- ๐ฅ Group Management - Create and manage expense groups
- ๐ฑ Mobile-First Design - Responsive PWA with offline support
- ๐ Secure Authentication - User registration and login system
- ๐ธ Settlement Tracking - Track payments and settle debts
- ๐ Real-Time Notifications - Group invitations and updates
- ๐ Expense Analytics - View spending patterns and balances
- ๐ Modern UI/UX - Clean, intuitive interface with dark mode support
- Java 21 or higher
- Node.js 18 or higher
- PostgreSQL database
- Maven 3.6+
git clone https://github.com/LORDv1shnu/settlr.git
cd settlr-- Create database
CREATE DATABASE settlr_db;
-- Create user (optional)
CREATE USER settlr_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE settlr_db TO settlr_user;cd backend
# Configure database in src/main/resources/application.properties
# Update the database URL, username, and password
# Install dependencies and run
mvn clean install
mvn spring-boot:runThe backend will start on http://localhost:8080
cd frontend
# Install dependencies
npm install
# Start development server
npm startThe frontend will start on http://localhost:3000
settlr/
โโโ backend/ # Spring Boot API
โ โโโ src/main/java/
โ โ โโโ com/settlr/backend/
โ โ โโโ controller/ # REST controllers
โ โ โโโ service/ # Business logic
โ โ โโโ repository/ # Data access layer
โ โ โโโ entity/ # JPA entities
โ โ โโโ dto/ # Data transfer objects
โ โโโ src/main/resources/
โ โโโ application.properties
โ
โโโ frontend/ # React application
โ โโโ src/
โ โ โโโ components/ # React components
โ โ โโโ context/ # Context providers
โ โ โโโ App.js # Main application
โ โโโ public/
โ โโโ manifest.json # PWA manifest
โ โโโ sw.js # Service worker
โ
โโโ README.md
Update backend/src/main/resources/application.properties:
# Database Configuration
spring.datasource.url=jdbc:postgresql://localhost:5432/settlr_db
spring.datasource.username=your_username
spring.datasource.password=your_password
# JPA Configuration
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
# Server Configuration
server.port=8080The frontend automatically connects to the backend at http://localhost:8080. For production, update the API base URL in the components.
Settlr is a Progressive Web App (PWA) that offers:
- Installable - Add to home screen on mobile devices
- Offline Support - Basic caching for offline functionality
- Responsive Design - Works seamlessly on desktop, tablet, and mobile
- Push Notifications - Real-time updates (coming soon)
- Sign Up/Login - Create an account or log in
- Create Group - Click "Groups" โ "Create New Group"
- Add Members - Search and invite friends by email
- Add Expenses - Start adding shared expenses
- Navigate to "Add Expense"
- Enter expense details (description, amount)
- Select who paid and how to split
- Save - balances update automatically
- Go to "Settle Up" section
- View who owes what to whom
- Record payments when debts are settled
- Balances update in real-time
Backend:
cd backend
mvn testFrontend:
cd frontend
npm testBackend:
cd backend
mvn clean package
java -jar target/backend-0.0.1-SNAPSHOT.jarFrontend:
cd frontend
npm run build
# Serve the build folder with your preferred static server- Password-based authentication
- CORS configuration for cross-origin requests
- Input validation and sanitization
- SQL injection protection via JPA
- 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.
- Initial Frontend by Rohan
- Frontend Polish by Siddhanth
- Improved Features and Login System by Sreeram
- CodeScape Project Expo (Semester 3) by Christ College of Engineering, Irinjalakuda
Built with โค๏ธ by LORDv1shnu and Team
โญ Star this repo if you find it helpful!



