Skip to content
/ Aora Public

Aora – A React Native app to upload, explore, and share AI-generated videos with custom thumbnails and prompts, powered by Appwrite.

Notifications You must be signed in to change notification settings

cygnus07/Aora

Repository files navigation

Aora

Aora is a personal project I created while learning React Native. It’s a platform where users can upload AI-generated videos with custom thumbnails and share the prompts they used to generate those videos. Users can explore videos shared by others, or upload their own, making Aora a creative space for AI-generated content.

This app was a challenging yet rewarding learning experience, helping me deepen my understanding of mobile development, state management, backend integration, and media handling.

Features

  • Email Authentication: Users can sign up and log in using their email.
  • Upload AI-Generated Videos: Upload videos with custom thumbnails and the prompt used to create the video.
  • Video Gallery: Explore AI-generated videos uploaded by other users.
  • Appwrite Integration: Appwrite handles backend functionality like user authentication, video uploads, and storage.

Screenshots

Here are a few screenshots of Aora in action:

Welcome Screen

Login Screen

Sign Up Screen

Home Screen

Search Screen

Upload Screen

User Profile Screen

Tech Stack

  • Frontend: React Native, Expo
  • Styling: NativeWind, TailwindCSS
  • Backend: Appwrite (authentication, file storage)
  • Navigation: React Navigation
  • Other Dependencies:
    • Vector Icons: @expo/vector-icons
    • Gesture Handling: react-native-gesture-handler
    • Animations: react-native-reanimated, react-native-animatable
    • Media Handling: expo-av, expo-image-picker

Installation and Setup

To set up the project locally, follow these steps:

Prerequisites

  • Node.js installed on your machine.
  • Expo CLI installed globally.
  • Appwrite backend configured (you can either use your own or follow Appwrite’s docs to set one up).

Steps

  1. Clone the Repository:

    git clone https://github.com/cygnus07/Aora.git
    cd Aora
  2. Install Dependencies:

    Install the required packages by running:

    npm install
  3. Set up Expo:

    • Install Expo CLI if you don’t have it:

      npm install -g expo-cli
    • Make sure to configure your Expo app to use a compatible SDK version, based on the version mentioned in package.json. You can check Expo's installation guide for help.

  4. Set up Appwrite:

    • Create an Appwrite project or use an existing one.
    • Set up a project with authentication, database, and file storage.
    • Update the Appwrite credentials in the app by configuring your projectId, endpoint, and any required secrets in the appropriate configuration files.
  5. Run the App:

    To run the app on your device/emulator, execute one of the following:

    • For Android:

      npm run android
    • For iOS:

      npm run ios
    • For Web:

      npm run web

Optional - Reset Project:

If you need to reset the project:

npm run reset-project

Learning Journey

This project marks an important milestone in my development journey. Aora gave me hands-on experience in React Native, mobile UI design, backend integration with Appwrite, and building a smooth media upload feature. It’s the culmination of what I learned over several months and stands as a proud showcase in my portfolio. Working through challenges, from authentication to media handling, has been both educational and fulfilling.

Future Improvements

  • Implement video streaming for smoother playback.
  • Add more granular user permissions for content management.
  • Integrate social features like likes and comments.

About

Aora – A React Native app to upload, explore, and share AI-generated videos with custom thumbnails and prompts, powered by Appwrite.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published