Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benhalverson/airbnb-clone-node-api
https://github.com/benhalverson/airbnb-clone-node-api
Last synced: 7 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/benhalverson/airbnb-clone-node-api
- Owner: benhalverson
- Created: 2019-01-14T01:50:34.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-22T12:39:29.000Z (almost 2 years ago)
- Last Synced: 2024-04-11T16:12:18.250Z (7 months ago)
- Language: JavaScript
- Size: 627 KB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## How to run this api
- start a mongod server
- `npm i` to install node deps
- `npm start`live demo is here
https://airbnb.benhalverson.me
### docs
Make a new user at
POST /api/v1/users/register`{
"name": "name",
"email": "[email protected]",
"password": "password",
"passwordConfirmation": "password"
}`API will return
`{ "registered": true}`
POST request to login will give you a Bearer token
`
{
"username": "TestUser",
"email": "[email protected]",
"password": "testtest"
}
`returns
`eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI1Y2VhM2JlNDk0YTk0NWVhY2I4ZjFiYzciLCJ1c2VybmFtZSI6IlRlc3RVc2VyIiwiaWF0IjoxNTU4ODU0NjQ1LCJleHAiOjE1NTg4NTgyNDV9.s3ADhunuXI85CM6rG3h2bNAjLTR5ATl9O2nMFL51Rss`### Make an authenticated GET request
GET request to get listings of apartments.
http://localhost:3000/api/v1/rentals/
Header`Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI1Y2VhM2JlNDk0YTk0NWVhY2I4ZjFiYzciLCJ1c2VybmFtZSI6IlRlc3RVc2VyIiwiaWF0IjoxNTU4ODU0NjQ1LCJleHAiOjE1NTg4NTgyNDV9.s3ADhunuXI85CM6rG3h2bNAjLTR5ATl9O2nMFL51Rss`
returns some sample data
`
[
{
"_id": "5cea3be494a945eacb8f1bcb",
"title": "Modern apartment in center",
"city": "new york",
"street": "Time Square",
"category": "apartment",
"image": "https://localhost:3000/uploads/rental/image/5/image.jpeg",
"bedrooms": 1,
"shared": true,
"description": "Very nice apartment in center of the city.",
"dailyRate": 11,
"createdAt": "2019-05-26T07:10:28.979Z",
"user": "5cea3be494a945eacb8f1bc7",
"__v": 0
},
{
"_id": "5cea3be494a945eacb8f1bcd",
"title": "Old house in nature",
"city": "spisska nova ves",
"street": "Banicka 1",
"category": "house",
"image": "https://localhost:3000/uploads/rental/image/5/image.jpeg",
"bedrooms": 5,
"shared": false,
"description": "Very nice apartment in center of the city.",
"dailyRate": 23,
"createdAt": "2019-05-26T07:10:28.980Z",
"user": "5cea3be494a945eacb8f1bc7",
"__v": 0
},
{
"_id": "5cea3be494a945eacb8f1bcf",
"title": "Amazing modern place",
"city": "san francisco",
"street": "Green street",
"category": "house",
"image": "https://localhost:3000/uploads/rental/image/5/image.jpeg",
"bedrooms": 2,
"shared": false,
"description": "Hiking routes 10 min walking away",
"dailyRate": 140,
"createdAt": "2019-05-26T07:10:28.980Z",
"user": "5cea3be494a945eacb8f1bc7",
"__v": 0
},
{
"_id": "5cea3be494a945eacb8f1bd1",
"title": "Apartment In China Town",
"city": "san francisco",
"street": "Union Street",
"category": "apartment",
"image": "https://localhost:3000/uploads/rental/image/5/image.jpeg",
"bedrooms": 3,
"shared": false,
"description": "Very nice apartment in China Town",
"dailyRate": 89,
"createdAt": "2019-05-26T07:10:28.981Z",
"user": "5cea3be494a945eacb8f1bc7",
"__v": 0
},
{
"_id": "5cea3be494a945eacb8f1bd3",
"title": "House with Garden",
"city": "new york",
"street": "Long Island, Queens",
"category": "house",
"image": "https://localhost:3000/uploads/rental/image/5/image.jpeg",
"bedrooms": 6,
"shared": false,
"description": "Very nice house in Long Island with garden",
"dailyRate": 189,
"createdAt": "2019-05-26T07:10:28.981Z",
"user": "5cea3be494a945eacb8f1bc7",
"__v": 0
},
{
"_id": "5cea3be494a945eacb8f1bd5",
"title": "Cozy modern Condo",
"city": "new york",
"street": "Penn Station",
"category": "condo",
"image": "https://localhost:3000/uploads/rental/image/5/image.jpeg",
"bedrooms": 3,
"shared": true,
"description": "Building close to Penn Station",
"dailyRate": 68,
"createdAt": "2019-05-26T07:10:28.981Z",
"user": "5cea3be494a945eacb8f1bc7",
"__v": 0
}
]
`GET request apartment by ID
http://localhost:3000/api/v1/rentals/:id
`http://localhost:3000/api/v1/rentals/5cea3be494a945eacb8f1bcb`
Needs a Bearer tokenGET user by ID
http://localhost:3000/api/v1/users/:id
`http://localhost:3000/api/v1/users/5cea3be494a945eacb8f1bc7`Make an authenticated POST request