Overview:
This project is a full-stack GraphQL Airbnb clone built using React and React Native. It consists of 5 packages that share code using Yarn Workspaces. The packages include a React.js website, a React Native app, a GraphQL TypeScript server, shared code between web, app, and server, and components shared between web and app.
Features:
- 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
Installation:
- Clone project
- CD into folder
- Download dependencies
- Start PostgreSQL server
- Create a database called graphql-ts-server-boilerplate
- Add a user with the username postgres and no password
- Connect to the database with psql and add the uuid extension
- Install and start Redis
- Create a .env file in packages/server and add FRONTEND_HOST=http://localhost:3000
- Run yarn build in packages/common
- Run yarn build in packages/controller
- Obtain Google Maps API key and insert it in the specified file
- Start server by running yarn start in packages/server
- Run yarn start in packages/web or packages/app to start the website or app
Summary:
The Fullstack GraphQL Airbnb Clone project offers various key features such as user registration/login, deployment of backend and frontend, password recovery, listing creation and viewing, logout functionality, and a chat feature. The installation process involves cloning the project, setting up dependencies, configuring databases, adding environment variables, and starting the server and web/app components. Overall, this project provides a comprehensive demonstration of building a full-stack application using React, React Native, and GraphQL.