Skip to content

Rj-coder-iitian/Airbnb-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Airbnb Clone (Fullstack Project)

A fullstack Airbnb clone featuring a Spring Boot 3 backend, Angular 17 frontend, PostgreSQL, PrimeNG, and Auth0 (OAuth2) authentication. The project replicates core Airbnb functionality including property search, booking, and landlord management.

Prerequisites

  • NodeJS 20.11 LTS
  • Angular CLI v17
  • Java 21 (JDK)
  • PostgreSQL
  • IDE: VSCode, IntelliJ, or any preferred IDE

The project is organized as follows:

airbnb-clone/
├─ frontend/       # Angular 17 frontend
├─ backend/        # Spring Boot 3 backend
├─ .gitignore
└─ README.md

To get started, clone the repository and navigate into the project folder:

git clone <YOUR_FULLSTACK_REPO_URL>
cd airbnb-clone

Backend Setup

Navigate to the backend folder and install dependencies using Maven Wrapper:

cd backend
./mvnw clean install

Launch the backend server:

./mvnw spring-boot:run -Dspring-boot.run.arguments="--AUTH0_CLIENT_ID=<client-id> --AUTH0_CLIENT_SECRET=<client-secret>"

You can also run the backend from IntelliJ by setting the Auth0 environment variables and running the Spring Boot application.

Frontend Setup

Navigate to the frontend folder, install dependencies, and start the development server:

cd ../frontend
npm install
ng serve

Open your browser at http://localhost:4200 to view the application. The frontend automatically reloads when you change any source files.

Build Instructions

To build the frontend for production:

ng build

Build artifacts are stored in the dist/ directory. To build the backend for deployment:

./mvnw clean package

The Spring Boot JAR file will be generated in backend/target/.

Notes

Ensure PostgreSQL is running and properly configured for the backend application. Replace <client-id> and <client-secret> with your Auth0 credentials to enable authentication. This project is intended for learning, demonstration, and portfolio purposes. Both frontend and backend folders contain .gitignore-safe files; unnecessary build artifacts and node modules are ignored.

License

This project is open-source and available for personal and educational use.

About

A fullstack Airbnb clone featuring a Spring Boot 3 backend, Angular 17 frontend

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors