A Fullstack GraphQL Airbnb Clone with React and React Native.
- Branches are in the order they were coded.
- This builds off the GraphQL Typescript Server I made: https://github.com/climax0916/graphql-ts-server-boilerplate.
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/climax0916/fullstack-graphql-airbnb-clone.git
- cd into folder
cd fullstack-graphql-airbnb-clone
- Download dependencies
yarn
- Start PostgreSQL server
- Create database called
graphql-ts-server-boilerplate
createdb graphql-ts-server-boilerplate
-
Add a user with the username
postgres
and and no password. (You can change what these values are in the ormconfig.json) -
Connect to the database with
psql
and add the uuid extension:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-
Install and start Redis
-
In
packages/server
create a file called.env
and add the following line inside:FRONTEND_HOST=http://localhost:3000
-
Run
yarn build
inpackages/common
-
Run
yarn build
inpackages/controller
-
Get Google Maps API key and put it here https://github.com/climax0916/fullstack-graphql-airbnb-clone/blob/master/packages/web/public/index.html#L1
-
Start server
yarn start
inpackages/server
-
Now you can run
yarn start
inpackages/web
orpackages/app
to start the website or app.
- 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
- logout
- Website chat