Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yoni-deserbaix/aora
Aora is a social media platform that allows users to share AI-generated videos with the community and discover trending videos. π€
https://github.com/yoni-deserbaix/aora
appwrite expo nativewind react-native reactnative-animatable
Last synced: 2 days ago
JSON representation
Aora is a social media platform that allows users to share AI-generated videos with the community and discover trending videos. π€
- Host: GitHub
- URL: https://github.com/yoni-deserbaix/aora
- Owner: Yoni-Deserbaix
- Created: 2024-06-22T11:10:46.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-08T11:50:40.000Z (17 days ago)
- Last Synced: 2024-12-08T12:30:01.648Z (17 days ago)
- Topics: appwrite, expo, nativewind, react-native, reactnative-animatable
- Language: JavaScript
- Homepage:
- Size: 4.96 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# React Native Aora
![image](https://github.com/user-attachments/assets/d159e04c-9f2c-4aa1-b6b3-fdcc07c8f79d)## π Description
**Aora** is a social media platform that allows users to share AI-generated videos with the
community and discover trending videos.## π Table of Contents
Table of Contents
1. π€ [Introduction](#introduction)
2. βοΈ [Tech Stack](#tech-stack)
3. π [Features](#features)
4. π€Έ [Quick Start](#quick-start)
5. πΈοΈ [Snippets](#snippets)
6. π [Links](#links)Built with React Native for seamless user experiences, Animatable for captivating animations, and integrated with the dependable backend systems of Appwrite,
this app showcases impressive design and functionality, enabling seamless sharing of AI videos within the community.- React Native
- Expo
- Nativewind
- Animatable
- Appwriteπ **Onboarding Screen**: Engaging graphics and clear instructions welcome users to the app.
π **Robust Authentication & Authorization System**: Secure email login safeguards user accounts.
π **Dynamic Home Screen with Animated Flat List**: Smoothly animated flat list showcases the latest videos for seamless browsing.
π **Pull-to-Refresh Functionality**: Users can refresh content with a simple pull gesture for up-to-date information.
π **Full-Text Search Capability**: Efficiently search through videos with real-time suggestions and instant results.
π **Tab Navigation**: Navigate between sections like Home, Search, and Profile with ease using tab navigation.
π **Post Creation Screen for Uploading Media**: Upload video and image posts directly from the app with integrated media selection.
π **Profile Screen with Detailed Insights**: View account details and activity, including uploaded videos and follower count, for a personalized experience.
π **Responsiveness**: Smooth performance and adaptability across various devices and screen sizes for a consistent user experience.
π **Animations**: Dynamic animations using the Animatable library to enhance user interaction and engagement throughout the app's UI.
and many more, including code architecture and reusability
Follow these steps to set up the project locally on your machine.
**Prerequisites**
Make sure you have the following installed on your machine:
- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en)
- [npm](https://www.npmjs.com/) (Node Package Manager)**Cloning the Repository**
```bash
git clone https://github.com/Yoni-Deserbaix/Aora.git
cd Aora
```
**Installation**Install the project dependencies using npm:
```bash
npm install
```**Running the Project**
```bash
npm start
```**Expo Go**
Download the [Expo Go](https://expo.dev/go) app onto your device, then use it to scan the QR code from Terminal and run.
tailwind.config.js
```javascript
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./app/**/*.{js,jsx,ts,tsx}", "./components/**/*.{js,jsx,ts,tsx}"],
theme: {
extend: {
colors: {
primary: "#161622",
secondary: {
DEFAULT: "#FF9C01",
100: "#FF9001",
200: "#FF8E01",
},
black: {
DEFAULT: "#000",
100: "#1E1E2D",
200: "#232533",
},
gray: {
100: "#CDCDE0",
},
},
fontFamily: {
pthin: ["Poppins-Thin", "sans-serif"],
pextralight: ["Poppins-ExtraLight", "sans-serif"],
plight: ["Poppins-Light", "sans-serif"],
pregular: ["Poppins-Regular", "sans-serif"],
pmedium: ["Poppins-Medium", "sans-serif"],
psemibold: ["Poppins-SemiBold", "sans-serif"],
pbold: ["Poppins-Bold", "sans-serif"],
pextrabold: ["Poppins-ExtraBold", "sans-serif"],
pblack: ["Poppins-Black", "sans-serif"],
},
},
},
plugins: [],
};
```
Font Loaded
```javascript
const [fontsLoaded, error] = useFonts({
"Poppins-Black": require("../assets/fonts/Poppins-Black.ttf"),
"Poppins-Bold": require("../assets/fonts/Poppins-Bold.ttf"),
"Poppins-ExtraBold": require("../assets/fonts/Poppins-ExtraBold.ttf"),
"Poppins-ExtraLight": require("../assets/fonts/Poppins-ExtraLight.ttf"),
"Poppins-Light": require("../assets/fonts/Poppins-Light.ttf"),
"Poppins-Medium": require("../assets/fonts/Poppins-Medium.ttf"),
"Poppins-Regular": require("../assets/fonts/Poppins-Regular.ttf"),
"Poppins-SemiBold": require("../assets/fonts/Poppins-SemiBold.ttf"),
"Poppins-Thin": require("../assets/fonts/Poppins-Thin.ttf"),
});useEffect(() => {
if (error) throw error;if (fontsLoaded) {
SplashScreen.hideAsync();
}
}, [fontsLoaded, error]);if (!fontsLoaded && !error) {
return null;
}
```
Dummy Videos for Appwrite
```javascript
const videos = [
{
title: "Get inspired to code",
thumbnail:
"https://i.ibb.co/tJBcX20/Appwrite-video.png",
video:
"https://player.vimeo.com/video/949579770?h=897cd5e781",
prompt:
"Create a motivating AI driven video aimed at inspiring coding enthusiasts with simple language",
},
{
title: "How AI Shapes Coding Future",
thumbnail:
"https://i.ibb.co/Xkgk7DY/Video.png",
video:
"https://player.vimeo.com/video/949581999?h=4672125b31",
prompt: "Picture the future of coding with AI. Show AR VR",
},
{
title: "Dalmatian's journey through Italy",
thumbnail:
"https://i.ibb.co/CBYzyKh/Video-1.png",
video:
"https://player.vimeo.com/video/949582778?h=d60220d68d",
prompt:
"Create a heartwarming video following the travels of dalmatian dog exploring beautiful Italy",
},
{
title: "Meet small AI friends",
thumbnail:
"https://i.ibb.co/7XqVPVT/Photo-1677756119517.png",
video:
"https://player.vimeo.com/video/949616422?h=d60220d68d",
prompt:
"Make a video about a small blue AI robot blinking its eyes and looking at the screen",
},
{
title: "Find inspiration in Every Line",
thumbnail:
"https://i.ibb.co/mGfCYJY/Video-2.png",
video:
"https://player.vimeo.com/video/949617485?h=d60220d68d",
prompt:
"A buy working on his laptop that sparks excitement for coding, emphasizing the endless possibilities and personal growth it offers",
},
{
title: "Japan's Blossoming temple",
thumbnail:
"https://i.ibb.co/3Y2Nk7q/Bucket-215.png",
video:
"https://player.vimeo.com/video/949618057?h=d60220d68d",
prompt: "Create a captivating video journey through Japan's Sakura Temple",
},
{
title: "A Glimpse into Tomorrow's VR World",
thumbnail:
"https://i.ibb.co/C5wXXf9/Video-3.png",
video:
"https://player.vimeo.com/video/949620017?h=d60220d68d",
prompt: "An imaginative video envisioning the future of Virtual Reality",
},
{
title: "A World where Ideas Grow Big",
thumbnail:
"https://i.ibb.co/DzXRfyr/Bucket-59038.png",
video:
"https://player.vimeo.com/video/949620200?h=d60220d68d",
prompt:
"Make a fun video about hackers and all the cool stuff they do with computers",
},
];
```## π Links
Assets and constants used in the project can be found [here](https://drive.google.com/drive/folders/1pckq7VAoqZlmsEfYaSsDltmQSESKm8h7?usp=sharing)
## π§ Contributing
[![contributors](https://contrib.rocks/image?repo=yoni-deserbaix/yoni-deserbaix)](https://github.com/Yoni-Deserbaix/Aora/graphs/contributors)
Contributions are what make the open source community such an amazing place to learn, inspire, and
create. Any contributions you make are **greatly appreciated**.To fix a bug or enhance an existing module, follow these steps:
1. Fork the repo
2. Create a new branch (`git checkout -b improve-feature`)
3. Make the appropriate changes in the files
4. Commit your changes (`git commit -am 'Improve feature'`)
5. Push to the branch (`git push origin improve-feature`)
6. Create a Pull Request π### π© Bug / Feature Request
If you find a bug (failure of a module to execute its intended function), kindly open an issue
[here](https://github.com/Yoni-Deserbaix/Aora/issues/new) by including the issue with a
title and clear description.If you'd like to request a new function, feel free to do so by opening an issue
[here](https://github.com/Yoni-Deserbaix/Aora/issues/new). Please include sample queries
and their corresponding results.