A modern digital solution that transforms traditional car-sharing operations into a streamlined, user-friendly service. This system eliminates manual processes, enables online bookings, and provides comprehensive management tools.
- Real-time car availability tracking and online booking
- Digital payment processing via Stripe integration
- Automated notifications through Telegram
- Comprehensive rental and payment management
- Backend: Spring Boot, Spring Security, Spring Data JPA
- Database: SQL with Liquibase migration
- Integration: Stripe API, Telegram Bot API
- Deployment: Docker containerization
The system consists of five main domain models: User, Role, Car, Rental, and Payment, working together to provide a seamless car-sharing experience.
+----------------+ +-----------------+ +------------------+
| Car | | Rental | | Payment |
+----------------+ +-----------------+ +------------------+
| id |<---+ | id | | id |
| model | | rentalDate | | status |
| brand | | returnDate | | type |
| type | | actualReturnDate| | sessionUrl |
| inventory | | car_id | ---> | sessionId |
| dailyFee | | user_id | ---> | amount |
| isDeleted | | payment_id | <--- | rental_id |
+----------------+ +-----------------+ +------------------+
^ ^ |
| | |
+----------------------+----------------------+
|
|
+----------------+
| User |
+----------------+
| id |
| email |
| firstName |
| lastName |
| password |
| telegramChatId |
| isDeleted |
+----------------+
|
v
+---------------+
| Role |
+---------------+
| id |
| role |
+---------------+
- Authentication and user management
- Car inventory and rental operations
- Payment processing and tracking
- Automated notification system
- Docker Desktop
- Java JDK 17+
- Git
- Postman (optional)
Quick Start:
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name
mvn clean package
docker-compose up --build
Import the provided Postman collection to test API endpoints. Base URL: localhost:8088