A simple Media Hub
Find a file
2025-04-22 18:36:43 +05:30
.expo-shared some changes 2025-04-13 11:20:56 +05:30
assets Add logo to README and include image asset; center align logo for improved presentation. 2025-04-22 18:36:43 +05:30
build Made metadascreen as modal for better user experience in ios 2025-04-14 18:56:42 +05:30
src Update package dependencies and enhance AddonsScreen UI; add expo-dev-client to package.json, improve header layout with logo, and refactor addon management features for better user experience. Update styles for consistency and clarity. 2025-04-22 18:31:02 +05:30
.easignore Update .gitignore to exclude android and ios directories; modify build.gradle to enhance resource shrinking and ProGuard settings 2025-04-15 22:23:29 +05:30
.gitignore Update .gitignore to exclude android and ios directories; modify build.gradle to enhance resource shrinking and ProGuard settings 2025-04-15 22:23:29 +05:30
app.json some elements 2025-04-15 13:35:42 +05:30
App.tsx Add Trakt integration and enhance SeriesContent component; include TraktProvider in App, update navigation for TraktSettings, and implement persistent season selection in useMetadata hook. 2025-04-20 12:49:38 +05:30
babel.config.js some changes 2025-04-13 11:20:56 +05:30
eas.json some changes 2025-04-13 11:20:56 +05:30
index.ts Initial commit 2025-04-10 16:34:21 +05:30
LICENSE Add MIT License file and update README for clarity and detail; enhance feature descriptions, setup instructions, and contribution guidelines for better user understanding. 2025-04-22 14:20:46 +05:30
metro.config.js some changes 2025-04-13 11:20:56 +05:30
package-lock.json Update package dependencies and enhance AddonsScreen UI; add expo-dev-client to package.json, improve header layout with logo, and refactor addon management features for better user experience. Update styles for consistency and clarity. 2025-04-22 18:31:02 +05:30
package.json Update package dependencies and enhance AddonsScreen UI; add expo-dev-client to package.json, improve header layout with logo, and refactor addon management features for better user experience. Update styles for consistency and clarity. 2025-04-22 18:31:02 +05:30
plan.md Refactor App structure to include GenreProvider; update dependencies in package.json and package-lock.json; enhance UI components with animations and improved styles; implement TMDB API key management; optimize metadata loading and caching; add new settings for catalog management. 2025-04-17 23:36:01 +05:30
README.md Add logo to README and include image asset; center align logo for improved presentation. 2025-04-22 18:36:43 +05:30
tsconfig.json Initial commit 2025-04-10 16:34:21 +05:30

Nuvio Logo

Nuvio - Streaming App

Nuvio is an Open-Source cross-platform streaming application built with React Native and Expo, allowing users to browse, discover, and watch video content.

Features

  • Home Screen: Customizable dashboard featuring highlighted content, continue watching section, and access to various content catalogs.
  • Content Discovery: Explore trending, popular, or categorized movies and TV shows.
  • Detailed Metadata: Access comprehensive information for content, including descriptions, cast, crew, and ratings.
  • Catalog Browsing: Navigate through specific genres, curated lists, or addon-provided catalogs.
  • Video Playback: Integrated video player for watching content.
  • Stream Selection: Choose from available video streams provided by configured sources/addons.
  • Search Functionality: Search for specific movies, TV shows, or other content.
  • Personal Library: Manage a collection of favorite movies and shows.
  • Trakt.tv Integration: Sync watch history, collection, and watch progress with your Trakt account.
  • Addon Management: Install, manage, and reorder addons compatible with the Stremio addon protocol to source content streams and catalogs.
  • Release Calendar: View upcoming movie releases or TV show episode air dates.
  • Extensive Settings:
    • Player customization (e.g., subtitle preferences).
    • Content source configuration (TMDB API keys, MDBList URLs).
    • Catalog management and visibility.
    • Trakt account connection.
    • Notification preferences.
    • Home screen layout adjustments.
  • Optimized & Interactive UI: Smooth browsing with skeleton loaders, pull-to-refresh, performant lists, haptic feedback, and action menus.
  • Cross-Platform: Runs on iOS and Android (highly optimized for iOS; Android performance is generally good).

📸 Screenshots

Home Discover Search
Home Discover Search
Metadata Seasons & Episodes Rating
Metadata Seasons Rating

🚀 Tech Stack

  • Framework: React Native (v0.76.9) with Expo (SDK 52)
  • Language: TypeScript
  • Navigation: React Navigation (v7)
  • Video Playback: react-native-video
  • UI Components: react-native-paper, @gorhom/bottom-sheet, @shopify/flash-list
  • State Management/Async: Context API, axios
  • Animations & Gestures: react-native-reanimated, react-native-gesture-handler
  • Data Sources (Inferred): TMDB (The Movie Database), potentially Stremio-related services

🛠️ Setup & Running

  1. Prerequisites:

    • Node.js (LTS recommended)
    • npm or yarn
    • Expo Go app on your device/simulator (for development) or setup for native builds (Android Studio/Xcode).
  2. Clone the repository:

    git clone https://github.com/nayifleo1/NuvioExpo.git
    cd nuvio 
    
  3. Install dependencies:

    npm install
    # or
    yarn install
    
  4. Run the application:

    • For Expo Go (Development):

      npx expo start
      # or
      yarn dlx expo start
      

      Scan the QR code with the Expo Go app on your iOS or Android device.

    • For Native Android Build/Emulator:

      npx expo run:android
      # or
      yarn dlx expo run:android
      
    • For Native iOS Build/Simulator:

      npx expo run:ios
      # or
      yarn dlx expo run:ios
      

🤝 Contributing

Contributions are welcome! If you'd like to contribute, please follow these general steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix (git checkout -b feature/your-feature-name or bugfix/issue-number).
  3. Make your changes and commit them with descriptive messages.
  4. Push your branch to your fork (git push origin feature/your-feature-name).
  5. Open a Pull Request to the main repository's main or develop branch (please check which branch is used for development).

Please ensure your code follows the project's coding style and includes tests where applicable.

🐛 Reporting Issues

If you encounter any bugs or have suggestions, please open an issue on the GitHub repository. Provide as much detail as possible, including:

  • Steps to reproduce the issue.
  • Expected behavior.
  • Actual behavior.
  • Screenshots or logs, if helpful.
  • Your environment (OS, device, app version).

🙏 Acknowledgements

Huge thanks to the Stremio team for their pioneering work in the streaming space and for creating their addon protocol/system. As an indie developer, their approach has been a major source of inspiration. This project utilizes compatibility with the Stremio addon ecosystem to source content.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.