This project serves as the backend for our Airbnb clone, a popular online marketplace for lodging, primarily homestays for vacation rentals, and tourism activities. The aim is to provide essential functionalities and features required for the Airbnb platform.
- User authentication using JWT (JSON Web Tokens)
- User, location, room, comment and booking management (Create, Read, Update, Delete)
- Uploading images using Multer
- API documentation using Swagger
- Testing API endpoints with Postman
- Database storage and retrieval using MySQL
- Containerization with Docker
-
Included in the learning curriculum:
- NestJS
- JWT (JSON Web Tokens)
- Multer
- Swagger
- Postman
- Docker (or Podman)
- MySQL
- Yarn package manager
-
In the future, the team plans to explore and integrate additional technologies such as SocketIO and CircleCI to enhance the backend functionality.
- Clone the repository:
git clone https://github.com/vohaiphuc/cybersoft-be-airbnb.git
- Navigate to the project directory:
cd cybersoft-be-airbnb
- Install dependencies:
yarn install
- Run the
database/airbnb.sql
file for MySQL (this project uses the database-first approach) - Run
yarn prisma generate
- Run the application using the command:
yarn start
oryarn start:dev
-
Make sure you have
.env
file in the root directory. -
Edit the environment variables as follows (you can skip this step if the .env file already contains accurate content):
DATABASE_URL="mysql://root:1234@localhost:3306/airbnb" TOKEN_KEY=CYBERSOFT_AIRBNB
🌟 Youtube video: Link to Youtube video
🌟 Postman collection: Link to Postman Collection
This project is developed and contributed by Phúc Võ, Thảo Huỳnh and Long Phan.