StaySplit is a full-stack web application that fairly splits shared utility bills among roommates based on the number of days each person stayed. The system ensures transparent and accurate cost distribution using a Spring Boot REST API backend and a clean, responsive frontend.
Visit the Website:
https://sujalpatil21.github.io/StaySplit/
In shared living environments, roommates often stay for different durations, making equal bill splitting unfair. StaySplit solves this by calculating each person's share proportional to their stay duration.
- Add and remove roommates dynamically
- Input number of days stayed per person
- Automatic proportional bill calculation
- REST-based backend architecture
- Deployed full-stack system
- Cross-origin enabled communication
- Clean and responsive UI
StaySplit follows a client-server architecture with independent frontend and backend deployments.
- Frontend hosted on GitHub Pages
- Backend containerized using Docker
- Backend deployed on Render
- REST-based communication between frontend and backend
Client Layer
- User interacts through browser
- Static frontend served via GitHub Pages
- Sends HTTP POST requests to backend
Frontend Layer
- HTML, CSS, JavaScript
- Handles form input and result rendering
- Communicates with backend using Fetch API
Backend Layer
- Spring Boot REST API
- Controller layer handles HTTP requests
- Service layer performs bill calculation logic
- Returns structured JSON response
Containerization
- Backend packaged inside Docker container
- Docker image deployed on Render
Communication
- REST API over HTTP
- JSON request and response format
- CORS enabled for cross-origin requests
- HTML5
- CSS3
- JavaScript
- Java 21
- Spring Boot
- Maven
- Docker (Backend Containerization)
- Render (Backend Hosting)
- GitHub Pages (Frontend Hosting)
- User enters bill amount and roommate details
- Frontend sends POST request to backend
- Backend processes data and calculates proportional shares
- Backend returns computed results in JSON format
- Frontend displays the result table
- Backend containerized using Docker
- Backend deployed on Render cloud platform
- Frontend hosted using GitHub Pages
- Environment variables managed securely on Render
- Input validation for empty and invalid fields
- Numeric validation for bill amount and days
- Graceful JSON parsing
- User-friendly error messages
- User authentication and login system
- Persistent database integration
- Bill history tracking
- Export reports in PDF or CSV
- Mobile application version
MIT License
Sujal Patil
https://github.com/SujalPatil21
https://www.linkedin.com/in/sujalbpatil21
mailto:sujalpatil21@gmail.com
