{"id":21408714,"url":"https://github.com/vomnes/hypertube","last_synced_at":"2025-10-29T01:35:35.641Z","repository":{"id":40730507,"uuid":"160938487","full_name":"vomnes/hypertube","owner":"vomnes","description":"This project proposes to create a web application that allows the user to research and watch videos. The player will be directly integrated to the site, and the videos will be downloaded through the BitTorrent protocol.","archived":false,"fork":false,"pushed_at":"2022-12-22T09:08:43.000Z","size":13310,"stargazers_count":6,"open_issues_count":37,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-14T01:49:41.955Z","etag":null,"topics":["api","bittorrent","golang","imdb","javascript","mongodb","movies","nodejs","oauth","sass","streaming","unit-testing","vuejs","websockets"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/vomnes.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}},"created_at":"2018-12-08T12:45:13.000Z","updated_at":"2023-07-01T00:44:54.000Z","dependencies_parsed_at":"2023-01-30T06:30:45.646Z","dependency_job_id":null,"html_url":"https://github.com/vomnes/hypertube","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vomnes/hypertube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vomnes%2Fhypertube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vomnes%2Fhypertube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vomnes%2Fhypertube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vomnes%2Fhypertube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vomnes","download_url":"https://codeload.github.com/vomnes/hypertube/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vomnes%2Fhypertube/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281544212,"owners_count":26519552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"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":["api","bittorrent","golang","imdb","javascript","mongodb","movies","nodejs","oauth","sass","streaming","unit-testing","vuejs","websockets"],"created_at":"2024-11-22T17:18:06.025Z","updated_at":"2025-10-29T01:35:35.611Z","avatar_url":"https://github.com/vomnes.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hypertube\nThis project proposes to create a web application that allows the user to research and watch videos. The player will be directly integrated to the site, and the videos will be downloaded through the BitTorrent protocol.\n\n## Group project\nThis is a GROUP project realised during my studies at 'Ecole 42'.\n\nI have done completely by myself the [Golang API](./apiGo) (Manage movies (search, movie page, list categories...), user(oauth...), comments...) with unit tests, [the script to populate the movie database](./apiGo/App/scriptMovies.go) in Golang (download files, parse, scrape websites and save in the database) and done a big part of [the front](./front) in VueJS.\n\n## Technologies\nWe have designed and realised this project from scratch using VueJS, Golang, MongoDB(using aggregates), NodeJS, Websockets (socket.io), HTML, SASS (compiled CSS), Apache, Docker and Kubernetes.\n\nWe have done everything from scratch with a responsive web design (HTML/CSS framework).\nWe handle multi languages with i18n, the authentication through Oauth(Google, 42 API (our school oauth), Facebook...) is available.\n\nThe movie database comes from [IMDb](https://www.imdb.com/) and [TMDb](https://www.themoviedb.org) API.\n\nWe have programmed from scratch the torrent client implementing (download torrents) the BitTorrent Protocol in NodeJS.\n- https://wiki.theory.org/index.php/BitTorrentSpecification\n- http://www.bittorrent.org/beps/bep_0000.html\n- http://www.bittorrent.org/beps/bep_0015.html\n\n## Features\n\n### Profile\n- Create an account\n- Reset your password through an unique link sent by email (using third party MailJet)\n- Modified your private data\n- Add/Edit\n\n\u003cimg alt=\"Login\" src=\"./screenshots/Hypertube-Desktop-Login.png\" width=\"75%\" title=\"login desktop\"\u003e\n\u003cimg alt=\"Register\" src=\"./screenshots/Hypertube-Desktop-Register.jpg\" width=\"75%\" title=\"register desktop\"\u003e\n\u003cimg alt=\"Profile\" src=\"./screenshots/Hypertube-Mobile-Profile.png\" width=\"40%\" title=\"profile mobile\"\u003e\n\n### List movies\n- List the movies by categories and sorted by relevance\n- See a page with all the movies of a category\n- Load more data on maximum scroll automatically (no pages)\n\n\u003cimg alt=\"Home movies\" src=\"./screenshots/Hypertube-Desktop-Home.jpg\" width=\"75%\" title=\"movies home\"\u003e\n\u003cimg alt=\"Home movies responsive\" src=\"./screenshots/Hypertube-Mobile-Home.png\" width=\"40%\" title=\"movies home responsive\"\u003e\n\u003cimg alt=\"Home movies responsive\" src=\"./screenshots/Hypertube-Desktop-Category.jpg\" width=\"75%\" title=\"movies home responsive\"\u003e\n\n### Search\n- Search for movies by name, year, rating and status\n\n\u003cimg alt=\"Search\" src=\"./screenshots/Hypertube-Desktop-Search.jpg\" width=\"75%\" title=\"search\"\u003e\n\u003cimg alt=\"Search (1)\" src=\"./screenshots/Hypertube-Desktop-Search(1).jpg\" width=\"75%\" title=\"search (1)\"\u003e\n\u003cimg alt=\"Search responsive\" src=\"./screenshots/Hypertube-Mobile-Search.png\" width=\"40%\" title=\"search responsive\"\u003e\n\n### See movie\n- Movie data\n- Add/Get comments\n- List/Download the torrents\n- Watch the movie\n\n\u003cimg alt=\"Movie\" src=\"./screenshots/Hypertube-Desktop-Movie.jpg\" width=\"75%\" title=\"movie\"\u003e\n\u003cimg alt=\"Movie responsive\" src=\"./screenshots/Hypertube-Mobile-Movie.png\" width=\"40%\" title=\"movie responsive\"\u003e\n\u003cimg alt=\"Torrents\" src=\"./screenshots/Hypertube-Desktop-Torrents.jpg\" width=\"75%\" title=\"torrents\"\u003e\n\u003cimg alt=\"Play movie\" src=\"./screenshots/Hypertube-Desktop-PlayMovie.jpg\" width=\"75%\" title=\"play movie\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvomnes%2Fhypertube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvomnes%2Fhypertube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvomnes%2Fhypertube/lists"}