/StreamHUB-Platform-Fullstack-NodeJS-ExpressJS

A streaming platform with a movie library, built-in player, Python scikit-learn user-based & JS TF-based content recommenders, and social features: awards, real-time chat, forums. Powered by Express.js backend & HTML/CSS/JS frontend.

Primary LanguageHTML

StreamHUB

Project Description:

StreamHUB is more than just a streaming platform; it’s a dynamic fusion of top-tier content and social interaction. Our mission is to revolutionize the entertainment landscape by creating an immersive experience that transcends traditional streaming services. Here’s what sets StreamHUB apart:

Key Features:

  • Top-Tier Streaming Experience: Access a vast library of movies. From Hollywood blockbusters to indie gems, StreamHUB has it all. Personalized recommendations ensure you never miss out on the best content.
  • Seamless Social Integration: Connect with friends, family, and fellow enthusiasts. Share your favorite shows, discuss plot twists, and discover hidden gems together. Real-time chat during live events lets you react, laugh, and speculate with others.
  • AI Recommender System: Our advanced AI analyzes your viewing habits, preferences, and social interactions to recommend content tailored just for you. Say goodbye to endless scrolling; StreamHUB knows what you’ll love next.

Installation and Usage:

Prerequisites

Before you begin, make sure you have the following installed:

  • Node.js and npm: If you haven’t already, download and install Node.js from the official website. Verify the installation by running:
    node -v
    npm -v
  • Git (optional): If you’re using Git for version control, install it from git-scm.com.

Backend (Express.js)

  1. Clone the Repository: If you haven’t already, clone your StreamHUB repository:

    git clone [https://github.com/yourusername/streamhub.git](https://github.com/yourusername/streamhub.git)
    cd streamhub

    (Remember to replace https://github.com/yourusername/streamhub.git with your actual repository URL)

  2. Install Dependencies: Install the required Node.js packages:

    npm install
  3. Configure Environment Variables: Create a .env file in the root directory and set environment variables (e.g., database connection details, API keys, etc.).

  4. Run the Backend Server: Start the Express.js server:

    npm start
  5. Run the Python Server: Start the RS.py server:

    python RS.py

Frontend (HTML, CSS, JavaScript)

  1. Static Files: Place your HTML, CSS, and JavaScript files in a public or static folder (or any other folder you prefer).
  2. Link Files: Link your CSS and JavaScript files in your HTML.
  3. Test Locally: Open your index.html or main HTML file in a web browser to test the frontend. Make sure it communicates with the backend (e.g., AJAX requests to API endpoints).

Usage

  1. Access StreamHUB: Open your web browser and navigate to http://localhost:8000 (or the port you specified in your Express.js configuration).
  2. Explore Content: Browse through the streaming content available on StreamHUB. Use the AI recommender system to discover personalized recommendations.
  3. Connect with Others: Create an account or log in to engage with the social features, chat with friends, and share your favorite shows.

Demo and Screenshots:

Some Screenshots:

Here are some screenshots of StreamHUB in action:

Main Page:

StreamHUB Main Page

Movies Page:

StreamHUB Movies Page

Login Page:

StreamHUB Login Page

Chatting Page:

StreamHUB Chatting Page

License and Author Info:

Author/s Info:

  • Mahmoud Abdrabou - Software Engineer - Github(Eng-M-Abdrabbou) - Al Ain University student 202010177
  • Talal Qassim - Software Engineer - Github(Talal-q19) - Al Ain University student 202010728
  • Mohammed Saqib - Software Engineer - Github(Mansoor-98) - Al Ain University student 202030601
  • Lama Marwa - Software Engineer - Github() - Al Ain University student 202111445

License:

Individual Code Ownership License

Purpose: To establish clear ownership rights for individual contributors to a project, while granting limited, non-transferable rights to use, copy, modify, and distribute the code within the project.

Terms and Conditions:

  • Individual Ownership: Each individual contributor to this project retains exclusive ownership of the code they have written. No individual, including non-authors and contributors, can claim ownership of the entire project or any code written by others.
  • Limited License: The individual owners grant a limited, non-exclusive, non-transferable license to use, copy, modify, and distribute this code solely as part of this project. This license does not extend to any other use or purpose.

Restrictions:

  • Non-Author Use: Non-authors are strictly prohibited from using, copying, modifying, or distributing this code outside the scope of this project.
  • Contributor Use: Contributors may use, copy, modify, and distribute the code within the project, but they must comply with the terms of this license and may not claim ownership of the code they did not write.
  • Commercial Use: Commercial use of the code, in whole or in part, is prohibited without the express written consent of all individual owners.
  • Attribution: Any modifications to the code must be clearly attributed to the original author.
  • Infringement: The code may not be used in a way that infringes on the rights of any individual owner or other third party.

Commit History: The commit history on GitHub serves as a record of contributions and ownership. It is essential for tracking changes, resolving disputes, and verifying the authenticity of the code.

Reservation of Rights: The individual owners reserve all rights to the code, including but not limited to the right to modify, improve, or terminate this license at any time. Any unauthorized use, copying, modification, or distribution of the code may result in legal action.

Acceptance: By using or contributing to this project, you agree to these terms and conditions.