sanidhyy/aora-app
Full-Stack AI Video Sharing Platform using Expo & React Native
Aora - Full-Stack AI Video Sharing Platform using Expo & React Native
๐ Table of Contents
โผ๏ธ Folder Structure
Here is the folder structure of Aora.
aora-app/
|- app/
|-- (auth)/
|-- (tabs)/
|-- search/
|-- _layout.jsx
|-- index.jsx
|- assets/
|-- fonts/
|-- icons/
|-- images/
|- components/
|-- custom-button.jsx
|-- empty-state.jsx
|-- form-field.jsx
|-- info-box.jsx
|-- search-input.jsx
|-- trending.jsx
|-- video-card.jsx
|- constants/
|-- icons.js
|-- images.js
|-- index.js
|-- links.js
|- context/
|-- global-provider.jsx
|- .env.local
|- .env.example
|- .gitignore
|- app.json
|- eas.json
|- babel.config.json
|- package-lock.json
|- package.json
|- tailwind.config.js
|- tsconfig.json๐งฐ Getting Started
- Make sure Git and NodeJS is installed.
- Clone this repository to your local computer.
- Create
.env.localfile in root folder. - Contents of
.env.local:
# .env.local
# appwrite project
EXPO_PUBLIC_APPWRITE_PLATFORM=com.example.aora
EXPO_PUBLIC_APPWRITE_PROJECT_ID=000000000000000000000000000
# appwrite database
EXPO_PUBLIC_APPWRITE_DATABASE_ID=000000000000000000000000000
# appwrite collection
EXPO_PUBLIC_APPWRITE_COLLECTION_ID=000000000000000000000000000
# appwrite video
EXPO_PUBLIC_APPWRITE_VIDEO_ID=000000000000000000000000000
# appwrite storage
EXPO_PUBLIC_APPWRITE_STORAGE_ID=000000000000000000000000000-
Open terminal in root directory. Run
npm install --legacy-peer-depsoryarn install --legacy-peer-deps. -
Install Expo Cli using
npm i -g expo-clioryarn global add expo-clito initialize your app on Expo.
7. Set Up Appwrite
-
Install Appwrite:
- If you haven't already, follow the Appwrite installation guide to set up Appwrite on your server or use Appwrite Cloud.
-
Create a New Project:
- Log in to your Appwrite console.
- Click on the "Add Project" button.
- Name your project (e.g., "Aora") and click "Create".
8. Obtain the Project ID
- Navigate to Your Project:
- Go to the project you just created.
- Copy the Project ID:
- In the project settings, you will find the "Project ID". Copy this ID.
9. Configure Appwrite Platform
- Add a New Platform:
- Within your project, navigate to the "Platforms" section.
- Click on "Add Platform" and select the appropriate platform for your project (e.g., Web, iOS, Android).
- Provide the necessary details such as domain or package name (e.g.,
com.example.aora). - Save the platform settings.
- Copy the Platform ID:
- After adding the platform, note the Platform ID (if provided) or use the domain/package name you added.
10. Set Up Appwrite Database
- Create a New Database:
- In your project dashboard, navigate to "Database".
- Click on "Add Database", provide a name for your database, and save it.
- Copy the Database ID:
- After creating the database, copy the Database ID.
11. Set Up Appwrite Collection
- Create a New Collection:
- Within the Database section, click on the "Add Collection" button.
- Provide a name for your collection and configure the necessary attributes and permissions.
- Save the collection.
- Copy the Collection ID:
- After creating the collection, copy the Collection ID.
12. Obtain the Video ID
- Upload a Video File (if applicable):
- Navigate to the "Storage" section in your Appwrite console.
- Click on "Add File" and upload your video file.
- Copy the Video File ID:
- After the upload is complete, copy the File ID of the video.
13. Set Up Appwrite Storage
-
Configure Storage Bucket (if applicable):
- In the "Storage" section, you may need to create a new bucket or use the default bucket.
- Ensure the bucket is configured to store your required files.
-
Copy the Storage ID:
- Note the Storage Bucket ID or the specific ID used for storage configuration.
-
Now app is fully configured ๐ and you can start using this app using
expo start.
๐ Additional Resources
- 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.
๐ท Screenshots:
โ๏ธ Tech Stack
๐ Contribute
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.
๐ Acknowledgements
Useful resources and libraries that are used in Aora:
- @types/react
- Expo
- Expo AV
- Expo Constants
- Expo Document Picker
- Expo Image Picker
- Expo Linking
- Expo Navigation Bar
- Expo Router
- Expo Status Bar
- Expo Updates
- NativeWind
- React
- React Native
- React Native Animatable
- React Native Appwrite
- React Native Safe Area Context
- React Native Screens
- React Native URL Polyfill
- TypeScript
- Babel Core
- Tailwind CSS
โ Buy Me a Coffee
๐ Follow Me
โญ Give A Star
You can also give this repository a star to show more people and they can use this repository.




