Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mhdzhhan/stream-xyz
🚀 React Native app for sharing AI-generated videos, with user authentication and secure media storage using Appwrite. 📹
https://github.com/mhdzhhan/stream-xyz
appwrite expo nativewind react-native tailwind
Last synced: about 1 month ago
JSON representation
🚀 React Native app for sharing AI-generated videos, with user authentication and secure media storage using Appwrite. 📹
- Host: GitHub
- URL: https://github.com/mhdzhhan/stream-xyz
- Owner: mhdZhHan
- Created: 2024-06-16T17:36:25.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-07-28T02:50:09.000Z (5 months ago)
- Last Synced: 2024-07-28T19:12:40.819Z (5 months ago)
- Topics: appwrite, expo, nativewind, react-native, tailwind
- Language: TypeScript
- Homepage:
- Size: 3.81 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Video Sharing App
A React Native application for sharing AI-generated videos, using Appwrite for user authentication and storage.
## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Technologies Used](#technologies-used)
- [Screenshots](#screenshots)
- [Contributing](#contributing)## Introduction
This project is a mobile application developed with React Native, aimed at providing a platform for users to upload, share, and manage AI-generated videos. The application leverages Appwrite for user authentication, database management, and file storage.
## Features
- User authentication (sign up, login, logout)
- Video and thumbnail upload
- Video listing and searching
- User profile management
- Secure storage of media files
- AI prompt support for video creation## Installation
To get started with the project, follow these steps:
1. Clone the repository:
```bash
git clone https://github.com/mhdZhHan/stream-xyz.git
cd stream-xyz
```2. Install dependencies:
```bash
yarn install
```3. Set up environment variables:
Create a `.env` file in the root directory and add your Appwrite project credentials:
```bash
APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
APPWRITE_PROJECT_ID=your_project_id
APPWRITE_DATABASE_ID=your_database_id
APPWRITE_USER_COLLECTION_ID=your_user_collection_id
APPWRITE_VIDEO_COLLECTION_ID=your_video_collection_id
APPWRITE_BUCKET_ID=your_bucket_id
```4. Run the application:
```bash
yarn start
```## Usage
### Authentication
Users can sign up and log in using their email and password. The app uses Appwrite's `Account` service to handle user authentication.
### Uploading Media
Users can upload videos and thumbnails using the Expo Document Picker. The media files are stored in Appwrite's storage buckets.
### Listing and Searching Videos
Users can view a list of all uploaded videos and use the search functionality to find specific videos based on their titles.
### Profile Management
Users can manage their profiles, including updating their username and avatar.
## Technologies Used
- React Native
- Expo
- Appwrite
- TypeScript## Screenshots
Here are some screenshots of the application:
## Screenshots
Here are some screenshots of the application:
### Sign up screen
![Sign up screen](screenshots/signup.jpg)
### Home Screen
![Home Screen](screenshots/home.jpg)
### Upload Screen
![Upload Screen](screenshots/upload.jpg)
### Profile Screen
![Profile Screen](screenshots/profile.jpg)
## Contributing
Contributions are welcome! If you have any ideas, suggestions, or bug reports, feel free to open an issue or submit a pull request.
1. Fork the repository
2. Create a new branch (`git checkout -b feature/your-feature`)
3. Commit your changes (`git commit -m 'Add your feature'`)
4. Push to the branch (`git push origin feature/your-feature`)
5. Open a pull request