Here is the folder structure of Airbnb Clone.
airbnb-clone/
|- app/
|-- (modals)/
|-- (tabs)/
|-- listing/
|-- _layout.tsx
|- assets/
|-- data/
|-- fonts/
|-- images/
|- components/
|- constants/
|-- Colors.ts
|-- Styles.ts
|- hooks/
|-- useWarmUpBrowser.ts
|- .env
|- .env.example
|- app.json
|- babel.config.json
|- metro-config.json
|- package-lock.json
|- package.json
|- tsconfig.json
- Make sure Git and NodeJS is installed.
- Clone this repository to your local computer.
- Create
.env
file in root folder. - Contents of
.env
:
# .env file
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
Open terminal in root directory. Run
npm install
oryarn install
. -
Install Expo Cli using
npm i -g expo-cli
oryarn global add expo-cli
to initialize your app on Expo. -
Clerk Key:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
is provided by Clerk. You need to sign up for an account on Clerk (https://www.clerk.dev/), log in, and access thiskey in your account settings. Make sure you select Expo app before copying this key.
- Now app is fully configured π and you can start using this app using
npm run dev
oryarn run dev
.
- Expo Documentation: https://docs.expo.dev/
- React Native Documentation: https://reactnative.dev/docs/
- Clerk Documentation: https://clerk.com/docs
NOTE: Please make sure to keep your API keys and configuration values secure and do not expose them publicly.
You might encounter some bugs while using this app. You are more than welcome to contribute. Just submit changes via pull request and I will review them before merging. Make sure you follow community guidelines.
Useful resources and libraries that are used in My Portfolio
- Bottom Sheet
- React Native Modern Date Picker
- Expo Blur
- Expo Location
- Reanimated
- React Native Maps
- Prettier
- ESLint
You can also give this repository a star to show more people and they can use this repository.