{"id":15187668,"url":"https://github.com/heetika22/aora---video-sharing-app","last_synced_at":"2026-03-11T03:01:45.234Z","repository":{"id":248407241,"uuid":"826491913","full_name":"Heetika22/Aora---Video-Sharing-App","owner":"Heetika22","description":"This is a mobile application built with Expo and React Native that allows users to share videos, save or unsave them, and delete them. The app provides an intuitive and seamless user experience for interacting with video content, including viewing, saving, and managing videos.","archived":false,"fork":false,"pushed_at":"2024-07-14T15:35:40.000Z","size":8416,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T18:35:06.436Z","etag":null,"topics":["appwrite-auth","appwrite-database","appwrite-storage","nativewind","react-native-app"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Heetika22.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-09T20:09:02.000Z","updated_at":"2024-07-14T15:39:52.000Z","dependencies_parsed_at":"2024-07-14T18:15:32.037Z","dependency_job_id":"80f37c1e-2b03-46f2-a58a-ce0dd548aeab","html_url":"https://github.com/Heetika22/Aora---Video-Sharing-App","commit_stats":null,"previous_names":["heetika22/aora---video-sharing-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Heetika22/Aora---Video-Sharing-App","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heetika22%2FAora---Video-Sharing-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heetika22%2FAora---Video-Sharing-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heetika22%2FAora---Video-Sharing-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heetika22%2FAora---Video-Sharing-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Heetika22","download_url":"https://codeload.github.com/Heetika22/Aora---Video-Sharing-App/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heetika22%2FAora---Video-Sharing-App/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30368539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"online","status_checked_at":"2026-03-11T02:00:07.027Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appwrite-auth","appwrite-database","appwrite-storage","nativewind","react-native-app"],"created_at":"2024-09-27T18:41:44.113Z","updated_at":"2026-03-11T03:01:45.205Z","avatar_url":"https://github.com/Heetika22.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Video Sharing App- AORA ✨✨\n\n## Overview\n\nThis is a mobile application built with Expo and React Native that allows users to share videos, save or unsave them, and delete them. The app provides an intuitive and seamless user experience for interacting with video content, including viewing, saving, and managing videos.\n\n## Features 🌟\n\n- **User Authentication:** Secure login and signup functionality.\n- **Video Sharing:** Users can upload and share videos with others.\n- **Save/Unsave Videos:** Users can save their favorite videos for easy access and unsave them when they no longer wish to keep them.\n- **Delete Videos:** Users can delete their own videos from the platform.\n- **User Profiles:** Each user has a profile displaying their uploaded videos.\n- **Search Functionality:** Users can search for videos using keywords.\n\n## Tech Stack\n\n- **Frontend:** React Native, Expo\n- **Backend:** Appwrite (for backend services and storage)\n- **Storage:** Appwrite (for video and thumbnail storage)\n- **Authentication:** Appwrite Authentication\n- **Other Libraries:** Nativewind\n\n## Database Structure\n\n### Collections\n\n#### Users\n\n| Attribute | Type   |\n|-----------|--------|\n| username  | String |\n| email     | Email  |\n| avatar    | URL    |\n| accountId | String |\n\n#### Videos\n\n| Attribute  | Type                                                  |\n|------------|-------------------------------------------------------|\n| title      | String                                                |\n| thumbnail  | URL                                                   |\n| prompt     | String                                                |\n| video      | URL                                                   |\n| creator    | Relationship (many-to-one with Users collection)      |\n| saved_by   | Relationship (many-to-many with Users collection)     |\n\n## Backend and Storage\n\nThis app leverages [Appwrite](https://appwrite.io/) for most backend services including user authentication, database management, and file storage. Appwrite simplifies the backend development by providing APIs and SDKs for various services.\n\n### How Appwrite is Used\n\n- **Authentication:** Appwrite's authentication services are used to manage user sign-up, login, and authentication.\n- **Database:** Appwrite's built-in database is used for managing video metadata and user interactions.\n- **File Storage:** Videos and thumbnails are stored using Appwrite's file storage services.\n\n## Screenshots  📸\n\nHere are some screenshots of the app:\n\n### Home Screen\n\u003cimg src=\"./screenshots/home-page.jpg\" width=\"300\" alt=\"Home Screen\"\u003e\n\n### Video Player\n\u003cimg src=\"./screenshots/home-(2).jpg\" width=\"300\" alt=\"Video Player\"\u003e\n\n### Profile page\n\u003cimg src=\"./screenshots/profile-page.jpeg\" width=\"300\" alt=\"Profile Page\"\u003e\n\n### Saved Videos\n\u003cimg src=\"./screenshots/saved-videos.jpg\" width=\"300\" alt=\"Saved Videos\"\u003e\n\n### Upload Video\n\u003cimg src=\"./screenshots/upload-(2).jpg\" width=\"300\" alt=\"Upload Videos\"\u003e\n\n### Search Video\n\u003cimg src=\"./screenshots/Search.jpg\" width=\"300\" alt=\"Search Videos\"\u003e\n## Getting Started\n\n### Prerequisites\n\n- Node.js and npm installed\n- Expo CLI installed globally (`npm install -g expo-cli`)\n- An account on Appwrite\n\n### Installation\n\n1. **Clone the repository:**\n\n    ```bash\n    git clone https://github.com/Heetika22/Aora---Video-Sharing-App.git\n    cd AORA\n    ```\n\n2. **Install dependencies:**\n\n    ```bash\n    npm install\n    ```\n\n3. **Setup Appwrite Configuration: (you will get them from Appwrite console, just copy paste the id)**\n\n    setup in lib/appwrite.js\n    ```bash\n    APPWRITE_ENDPOINT=your_appwrite_endpoint\n    APPWRITE_PROJECT_ID=your_appwrite_project_id\n    DATABASE_ID= your_database_id \n    USER_COLLECTION_ID= user_collection_id\n    VIDEO_COLLECTION_ID= video_collection_id\n    STORAGE_ID: your_appwrite_storage_id\n\n    ```\n\n4. **Run the application:**\n\n    ```bash\n    npx expo start -c\n    ```\n\n\n### Usage\n\n- **Register/Login:** Create a new account or login with existing credentials.\n- **Upload Video:** Navigate to the upload section and select a video to share.\n- **Save Video:** Tap the save button on any video to add it to your saved list.\n- **Unsave Video:** Tap the unsave button on any saved video to remove it from your list.\n- **Delete Video:** Tap the delete button on any video you have uploaded to remove it from the platform.\n\n## Project Structure\n\nAORA/\n\n│\n\n├── assets/              # Assets such as images, fonts, etc.\n\n├── components/          # Reusable components\n\n├── context/             # Global context and provider\n\n├── app/                 # Screen components\n\n├── lib/                 # Utility functions and API calls\n\n├── package.json         # Project dependencies and scripts\n\n├── screenshots/         # Glimpses of the app\n\n└── README.md            # Project documentation\n\n\n## Contributing\n\nContributions are welcome! Please fork this repository and submit a pull request for any features, bug fixes, or enhancements.\n1. **Fork the repository.**\n2. **Create a new branch:**\n    ```bash\n    git checkout -b feature-branch\n    ```\n3. **Make your changes.**\n4. **Commit your changes:**\n    ```bash\n    git commit -m 'Add new feature'\n5. **Push to the branch:**\n    ```bash\n    git push origin feature-branch\n    ```\n6. **Open a pull request.**\n\n\n## Project References\n\nhttps://youtu.be/ZBCUegTZF7M?si=NLIZFwk3Xv7-x2Go -- Javascript Mastery\n\nNew Features apart from this video- \n\n-- save your favourite videos\n\n-- fetch your saved video in dedicated tab for saved videos with search implementation\n\n-- unsave the videos that you have previously saved\n\n-- delete  from your Profile\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheetika22%2Faora---video-sharing-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheetika22%2Faora---video-sharing-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheetika22%2Faora---video-sharing-app/lists"}