A Fullstack GraphQL Airbnb Clone with React and React Native.
- Branches are in the order they were coded.
- Watch how this was made: https://www.youtube.com/playlist?list=PLN3n1USn4xlnfJIQBa6bBjjiECnk6zL6s
- This builds off the GraphQL Typescript Server I made: https://github.com/benawad/graphql-ts-server-boilerplate.
- You can see the YouTube Playlist for how that was made here: https://www.youtube.com/playlist?list=PLN3n1USn4xlky9uj6wOhfsPez7KZOqm2V
- Join the Discord: https://discord.gg/Vehs99V
This project is made up of 5 packages that share code using Yarn Workspaces.
- web (React.js website)
- app (React Native app)
- server (GraphQL Typescript server)
- common (Code shared between web, app, and server)
- controller (Components shared between web and app)
- Clone project
git clone https://github.com/benawad/fullstack-graphql-airbnb-clone.git
- cd into folder
- Download dependencies
- Start PostgreSQL server
- Create database called
Connect to the database with
psqland add the uuid extension:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
Install and start Redis
packages/servercreate a file called
.envand add the following line inside:
Get Google Maps API key and put it here https://github.com/benawad/fullstack-graphql-airbnb-clone/blob/master/packages/web/public/index.html#L14 Videos doing that: https://youtu.be/-QQnzDVcTCo and https://youtu.be/xLlIgokKiLc
Now you can run
packages/appto start the website or app.
How to get credentials working in graphql playground: https://youtu.be/oM-EmNdhwI4?t=8m39s
- Website register/login
- Deploy backend and frontend
- App register/login
- Website and App forgot password
- Website and App create listing
- Website and App view listings
- Website chat