Skip to content

Hypertube is a mock/clone movie streaming site where users can search for movies that they can either stream or download.

Notifications You must be signed in to change notification settings

CLetinic/Hypertube

Repository files navigation

Hypertube is a mock/clone movie streaming site where users can search for movies that they can either stream or download.

The aim of this project, one of the Web projects from the 42 / WeThinkCode_ curriculum, is to develop a website and demonstrate the learning of the use/implementation of external APIs, oauthentication (external authentication), and torrent protocols.

NOTE - The production of this project is purely educational and in no way indorses pirating in any shape or form.

Installation

Prerequisites

Hypertube makes use of two servers.

  • An Apache server (in this case an bitnami local server)
  • A Node server.

Apache Server

A local server to host on, in this case we will make use of bitnami local server environments

MacOS
Windows
Linux

NOTE - this project hasn't been tested on a linux based system

Node Server

  • Install Node (12.18.3 LTS)

Clone

Clone this repo to your local machine using:

cd [Insert path to your MAMP/ WAMP / LAMP Directory ]/apache2/htdocs
git clone https://github.com/CLetinic/Hypertube.git

Setup

Configuring Server Environment

Node Server

Start the Node server

cd [Insert path to your MAMP/ WAMP / LAMP Directory ]/apache2/htdocs/Hypertube/NODE
npm install
node app.js

Apache Server

Locate and run the executable file

Server

Configure Server port

NOTE - by default the server is set to port 80 we need to change it to 8080

Server Server

Start the server

Server

Browse to site location

http://localhost:8080/Hypertube

Configuring Hypertube

Changing Hypertube Variables

In [Insert path to your MAMP/ WAMP / LAMP Directory ]/apache2/htdocs/Hypertube/setup.php

Change the password of $password, to the password chosen during the installation of bitnami server - phpMyAdmin password.

Database_Configuration

Creating Database and Tables

To create database and tables:
In the browser, navigate to

http://localhost:8080/Hypertube/setup.php

Samples | Screenshots

Sign In | Sign Up

Server

Search Page

Search page by default show the most popular movies Server

User is able to Search, Filter and Sort Server

Search Server

Movie Page

Information | Cast Server

Crew

NOTE - Here the stream is buffering to at least 10% - Hence the "Pending"

Server

This is on the NODE server when the user clicks stream or download.

NOTE - Only at 10% and aboce will the stream become available

Server

The movie available to stream Server

APIs Used

Movie APIs

OAuthentication APIs

Project Insight

Project Brief

Project Markingsheet

Project Trello

Project Stack / Technologies

Front-End

Back-End

Databse

Project File Structure

Granted, it isn't the cleanest file structure....

Hypertube
├── Facebook
│   └── ...                                  # OAuthentication - Facebook
├── favicon
│   └── ...
├── GoogleAPI
│   └── ...                                  # OAuthentication - Google
├── images
│   └── ...                                  # Front-End - Images / Assets
├── misc
│   ├── documents
│   │   ├── hypertube.en.pdf                 # Project Brief
│   │   └── hypertube.markingsheet.pdf       # Project Marking Sheet
│   └── images
│       ├── MAMP
│       │   └── ...                          # README - Server Setup Images
│       └── ...                              # README - Project Screen Shots
├── NODE
│   ├── app.js                               # Back-end - Torrent logic - Script to serve with Node
│   └── ...                                  # Back-end - Torrent logic - Uses Node.js
├── user
│   └── commentinfo.php                      # Back-End - User Comments
├── 42-callback.php                          # OAuthentication - 42 | WeThinkCode_
├── config.php                               # OAuthentication - Configuration
├── home.php                                 # Movie Search Page
├── index.php                                # Sign In | OAuthentication
├── setup.php                                # Database - Configuration | Table Creation
├── style.css                                # Front-End - Styling
└── ...                                      # Front-end | Back-end | Configuration | Project core

Authors

About

Hypertube is a mock/clone movie streaming site where users can search for movies that they can either stream or download.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages