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!



