https://splitify-java-backend.onrender.com
Splitify is a smart expense-splitting backend API built using Spring Boot. It allows users to create groups, split expenses with friends, track who owes whom, and settle transactions. JWT-based authentication and Spring Security are used to secure endpoints.
- ✅ User Signup/Login with JWT Authentication
- ✅ Secure endpoints with Spring Security
- ✅ Create and manage expenses
- ✅ Split expenses between participants
- ✅ Track balances: who owes whom
- ✅ Friend management
- ✅ Group support (optional)
- ✅ MongoDB with DBRef or manual references for users & expenses
- ✅ LLD-compliant modular structure
- Java 17+
- Spring Boot
- Spring Security
- JWT (JJWT 0.11.x)
- MongoDB
- Maven
- Lombok
- /src/main/java: Contains the Java source files for the application.
- /src/main/resources: Contains the configuration files like
application.properties. - /src/test: Contains unit and integration tests.
- Dockerfile: Defines the Docker image to run the application in a containerized environment.
- pom.xml: The Maven project descriptor file that manages project dependencies and build lifecycle.
- Clone the repository.
- Install the dependencies:
mvn install
- Run the application:
mvn spring-boot:run
- Open
http://localhost:9090to access the API.
- Build the Docker image:
docker build -t splitify-backend . - Run the container:
docker run -p 9090:9090 splitify-backend
- Open
http://localhost:9090to access the API.
This application uses JWT (JSON Web Tokens) for user authentication. When you log in or sign up, you'll receive a token to include in the Authorization header for accessing protected endpoints.
Example:
Authorization: