A full-stack Airbnb clone project developed using Angular (TypeScript) for the frontend and Spring Boot (Java) for the backend, secured with Auth0 (OAuth2).
The project includes key features such as:
- 📅 Booking Management: Travelers can book properties seamlessly.
- 🏠 Landlord Management: Landlords can manage property reservations.
- 🔍 Advanced Search: Search for houses by location, date, number of guests, beds, and other criteria.
- 🔐 Secure Authentication: Role-based access control implemented with Auth0 (OAuth2).
- 🏢 Domain-Driven Design: Ensures maintainable and scalable architecture.
Main page:
Listing View:
Clone the fullstack project using the following command:
git clone https://github.com/B4JD1K/Airbnb-cloneThe project structure will include:
Airbnb-clone/
│
├── airbnb-clone-backend/ # Backend code (Spring Boot)
└── airbnb-clone-frontend/ # Frontend code (Angular)
- Navigate to the
airbnb-clone-frontenddirectory:cd Airbnb-clone/airbnb-clone-frontend - Install the dependencies:
npm install
- Start the development server:
ng serve
- Open the application in your browser at:
http://localhost:4200
- Navigate to the
airbnb-clone-backenddirectory:cd Airbnb-clone/airbnb-clone-backend - Open the backend project in IntelliJ or your preferred IDE.
- Configure the PostgreSQL database:
- Ensure that PostgreSQL is running.
- Update the database credentials in the
application.propertiesorapplication.ymlfile.
- Start the Spring Boot application:
- Using the terminal:
./mvnw spring-boot:run -Dspring-boot.run.arguments="--AUTH0_CLIENT_ID=<client-id> --AUTH0_CLIENT_SECRET=<client-secret>" - Or, run the application directly from IntelliJ.
- The backend server will run on:
http://localhost:8080
-
Frontend:
- Angular 17
- PrimeNG 17
- PrimeFlex 3
-
Backend:
- Spring Boot 3
- PostgreSQL 16.6
- Auth0 (OAuth2)
This project is licensed under the MIT License. See the LICENSE for details.
- Special thanks to the @C0de-cake - creator of the tutorial.