- Description:
- Developing a Homestay Booking System like Airbnb
- A personal project for beginners
- Youtube Playlist
- Author:
- 🧑💻 Website: https://roninhub.com/
- 💡 Page: Ronin Engineer
- 📚 Group: System Design VN
- Status:
updating
- Data Modeling
- API Design
- Codebase: Principles, Design Patterns
- Database
- JPA/Hibernate
- Caching
- Unit Testing
- Integration
- Security
- Deployment
- ...
- Programming Language: Java 21
- Framework: Spring Boot 3.3.0
- Database: Postgres 16
- Cache: Redis 7
- Unit Testing: JUnit 5
- Integration: VNPay Payment Gateway
- Security: JWT, Spring Security, ...
- Deployment
- Container: Docker
- CICD: Github Actions
- Deployment: Cloud Server
- ...
Please feel free to give us feedbacks, contribution.
Thank you so much! 🫶
- Search Homestay by Area
curl --location 'http://localhost:8080/api/v1/homestays?longitude=105.85093677113572&latitude=21.00331838574515&radius=1000&checkin_date=2024-07-04&checkout_date=2024-07-07&guests=2'
- Book Homestay
curl --location 'http://localhost:8080/api/v1/bookings' \
--header 'Content-Type: application/json' \
--data '{
"request_id": "qweq",
"user_id": 1,
"homestay_id": 1,
"checkin_date": "2024-07-10",
"checkout_date": "2024-07-13",
"guests": 2,
"note": "note test"
}'
- Read more about distributed tracing: https://opentelemetry.io/docs/concepts/observability-primer/
- Guideline: https://signoz.io/docs/install/docker/
cd docker/signoz
docker compose up -d
- Download opentelemetry-javaagent.jar into
./telemetry/
- Instrument your application by creating env vars:
- JAVA_TOOL_OPTIONS=-javaagent:telemetry/opentelemetry-javaagent.jar
- OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
- OTEL_EXPORTER_OTLP_PROTOCOL=grpc
- OTEL_RESOURCE_ATTRIBUTES="service.name=airbnb-local"
- OTEL_SERVICE_NAME=airbnb-local