Repository files navigation

Nexus - Your Streaming Platform

Preview

Nexus is a modern, open-source, and self-hostable streaming platform, designed to deliver a sleek and elegant viewing experience. Built with a powerful admin panel, it allows for easy management of your movie, series, and anime library.

LicenseNode.jsNext.jsPostgreSQL


✨ Features

Nexus is packed with features to provide a premium user experience, similar to popular streaming services.

  • Modern & Elegant Player: A sleek, intuitive player with a beautiful screensaver effect on pause.
  • VAST Ad Support: Monetize your content with VAST ad integration.
  • Auto Next Episode: Automatically plays the next episode for a seamless binge-watching session.
  • Complete Admin Panel: Easily add and manage movies, series, and animes with full TMDB integration.
  • Dynamic Feature Banner: Showcase trailers or featured content with an elegant, auto-playing video banner.
  • Customizable Avatars: Users can personalize their profiles with custom avatars.
  • Dual-Language Support: Built-in support for multiple languages (English/Portuguese by default).
  • Fully Responsive: A flawless experience on any device, from desktops to smartphones.
  • User Profiles (Who's Watching?): Netflix-style user profiles for a personalized experience.
  • Continue Watching: Users can easily pick up where they left off.
  • Highly Customizable: Tailor the entire site to your brand and needs.

🎬 Showcase

Here's a glimpse of Nexus in action.

First Impressions: A Quick Tour of the HomepagePreview

Engaging Feature Banner with Video TrailersPreview

Personalized Experience with User ProfilesPreview

Rich Content Details for Movies and SeriesPreview

Never Lose Your Place with "Continue Watching"Preview

Elegant Screensaver on PausePreview

Seamless Binge-Watching with "Next Episode"Preview

Integrated VAST Ad SupportPreview

Powerful & Intuitive Admin PanelPreview

Effortless Content ManagementPreview


🚀 Getting Started: Installation Guide

To get Nexus up and running on your local machine, follow these steps.

Prerequisites

  • Node.js (v18 or newer recommended)
  • PostgreSQL

1. Database Setup

First, you need to create a PostgreSQL database and import the provided schema.

# Create an empty database (e.g., 'nexus')
createdb nexus
# Import the database schema and default structure
psql -d nexus -f database.sql

(Replace nexus with your chosen database name if different)

2. Backend Setup

The backend is a Node.js server that connects to your database.

# Navigate to the backend directorycd backend
# Install dependencies
npm install
# Create your environment file from the example
cp .env.example .env

Now, open the newly created .env file and configure your database connection and frontend URL.

FRONTEND_URL=http://localhost:3000DATABASE_URL="postgresql://YOUR_USER:YOUR_PASSWORD@localhost:5432/nexus"JWT_SECRET="generate_a_strong_random_secret_here"TMDB_API_KEY="your_tmdb_api_key_here"

Once configured, start the backend server:

npm run dev

3. Frontend Setup

The frontend is a Next.js application.

# Open a new terminal and navigate to the frontend directorycd frontend
# Install dependencies
npm install
# Create your local environment file
cp .env.local.example .env.local

Now, open the new .env.local file and set the backend API URL:

NEXT_PUBLIC_API_BASE_URL=http://localhost:3001/api

Finally, start the frontend development server:

npm run dev

Your Nexus platform should now be running at http://localhost:3000!

Default Login: nexus@email.com 123456


📌 Note

Ya, there are probably still some bugs and plenty of things that could be improved. I work on this project in my free time. Any help, feedback, or contributions are welcome.


⚠️ Disclaimer

All media content (images, videos, trailers) shown in this repository is used for demonstration purposes only.

All rights belong to their respective owners, including but not limited to studios such as Marvel Studios and other content distributors.

This project does not claim ownership over any copyrighted material displayed in previews or demo assets.


📄 License

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

About

A modern, self-hostable streaming platform with a powerful admin panel. Built with Next.js, Node.js, and PostgreSQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Nexus - Your Streaming Platform

Preview

Nexus is a modern, open-source, and self-hostable streaming platform, designed to deliver a sleek and elegant viewing experience. Built with a powerful admin panel, it allows for easy management of your movie, series, and anime library.

LicenseNode.jsNext.jsPostgreSQL


✨ Features

Nexus is packed with features to provide a premium user experience, similar to popular streaming services.

  • Modern & Elegant Player: A sleek, intuitive player with a beautiful screensaver effect on pause.
  • VAST Ad Support: Monetize your content with VAST ad integration.
  • Auto Next Episode: Automatically plays the next episode for a seamless binge-watching session.
  • Complete Admin Panel: Easily add and manage movies, series, and animes with full TMDB integration.
  • Dynamic Feature Banner: Showcase trailers or featured content with an elegant, auto-playing video banner.
  • Customizable Avatars: Users can personalize their profiles with custom avatars.
  • Dual-Language Support: Built-in support for multiple languages (English/Portuguese by default).
  • Fully Responsive: A flawless experience on any device, from desktops to smartphones.
  • User Profiles (Who's Watching?): Netflix-style user profiles for a personalized experience.
  • Continue Watching: Users can easily pick up where they left off.
  • Highly Customizable: Tailor the entire site to your brand and needs.

🎬 Showcase

Here's a glimpse of Nexus in action.

First Impressions: A Quick Tour of the HomepagePreview

Engaging Feature Banner with Video TrailersPreview

Personalized Experience with User ProfilesPreview

Rich Content Details for Movies and SeriesPreview

Never Lose Your Place with "Continue Watching"Preview

Elegant Screensaver on PausePreview

Seamless Binge-Watching with "Next Episode"Preview

Integrated VAST Ad SupportPreview

Powerful & Intuitive Admin PanelPreview

Effortless Content ManagementPreview


🚀 Getting Started: Installation Guide

To get Nexus up and running on your local machine, follow these steps.

Prerequisites

  • Node.js (v18 or newer recommended)
  • PostgreSQL

1. Database Setup

First, you need to create a PostgreSQL database and import the provided schema.

# Create an empty database (e.g., 'nexus')
createdb nexus
# Import the database schema and default structure
psql -d nexus -f database.sql

(Replace nexus with your chosen database name if different)

2. Backend Setup

The backend is a Node.js server that connects to your database.

# Navigate to the backend directorycd backend
# Install dependencies
npm install
# Create your environment file from the example
cp .env.example .env

Now, open the newly created .env file and configure your database connection and frontend URL.

FRONTEND_URL=http://localhost:3000DATABASE_URL="postgresql://YOUR_USER:YOUR_PASSWORD@localhost:5432/nexus"JWT_SECRET="generate_a_strong_random_secret_here"TMDB_API_KEY="your_tmdb_api_key_here"

Once configured, start the backend server:

npm run dev

3. Frontend Setup

The frontend is a Next.js application.

# Open a new terminal and navigate to the frontend directorycd frontend
# Install dependencies
npm install
# Create your local environment file
cp .env.local.example .env.local

Now, open the new .env.local file and set the backend API URL:

NEXT_PUBLIC_API_BASE_URL=http://localhost:3001/api

Finally, start the frontend development server:

npm run dev

Your Nexus platform should now be running at http://localhost:3000!

Default Login: nexus@email.com 123456


📌 Note

Ya, there are probably still some bugs and plenty of things that could be improved. I work on this project in my free time. Any help, feedback, or contributions are welcome.


⚠️ Disclaimer

All media content (images, videos, trailers) shown in this repository is used for demonstration purposes only.

All rights belong to their respective owners, including but not limited to studios such as Marvel Studios and other content distributors.

This project does not claim ownership over any copyrighted material displayed in previews or demo assets.


📄 License

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

About

A modern, self-hostable streaming platform with a powerful admin panel. Built with Next.js, Node.js, and PostgreSQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Nexus - Your Streaming Platform

Preview

Nexus is a modern, open-source, and self-hostable streaming platform, designed to deliver a sleek and elegant viewing experience. Built with a powerful admin panel, it allows for easy management of your movie, series, and anime library.

LicenseNode.jsNext.jsPostgreSQL


✨ Features

Nexus is packed with features to provide a premium user experience, similar to popular streaming services.

  • Modern & Elegant Player: A sleek, intuitive player with a beautiful screensaver effect on pause.
  • VAST Ad Support: Monetize your content with VAST ad integration.
  • Auto Next Episode: Automatically plays the next episode for a seamless binge-watching session.
  • Complete Admin Panel: Easily add and manage movies, series, and animes with full TMDB integration.
  • Dynamic Feature Banner: Showcase trailers or featured content with an elegant, auto-playing video banner.
  • Customizable Avatars: Users can personalize their profiles with custom avatars.
  • Dual-Language Support: Built-in support for multiple languages (English/Portuguese by default).
  • Fully Responsive: A flawless experience on any device, from desktops to smartphones.
  • User Profiles (Who's Watching?): Netflix-style user profiles for a personalized experience.
  • Continue Watching: Users can easily pick up where they left off.
  • Highly Customizable: Tailor the entire site to your brand and needs.

🎬 Showcase

Here's a glimpse of Nexus in action.

First Impressions: A Quick Tour of the HomepagePreview

Engaging Feature Banner with Video TrailersPreview

Personalized Experience with User ProfilesPreview

Rich Content Details for Movies and SeriesPreview

Never Lose Your Place with "Continue Watching"Preview

Elegant Screensaver on PausePreview

Seamless Binge-Watching with "Next Episode"Preview

Integrated VAST Ad SupportPreview

Powerful & Intuitive Admin PanelPreview

Effortless Content ManagementPreview


🚀 Getting Started: Installation Guide

To get Nexus up and running on your local machine, follow these steps.

Prerequisites

  • Node.js (v18 or newer recommended)
  • PostgreSQL

1. Database Setup

First, you need to create a PostgreSQL database and import the provided schema.

# Create an empty database (e.g., 'nexus')
createdb nexus
# Import the database schema and default structure
psql -d nexus -f database.sql

(Replace nexus with your chosen database name if different)

2. Backend Setup

The backend is a Node.js server that connects to your database.

# Navigate to the backend directorycd backend
# Install dependencies
npm install
# Create your environment file from the example
cp .env.example .env

Now, open the newly created .env file and configure your database connection and frontend URL.

FRONTEND_URL=http://localhost:3000DATABASE_URL="postgresql://YOUR_USER:YOUR_PASSWORD@localhost:5432/nexus"JWT_SECRET="generate_a_strong_random_secret_here"TMDB_API_KEY="your_tmdb_api_key_here"

Once configured, start the backend server:

npm run dev

3. Frontend Setup

The frontend is a Next.js application.

# Open a new terminal and navigate to the frontend directorycd frontend
# Install dependencies
npm install
# Create your local environment file
cp .env.local.example .env.local

Now, open the new .env.local file and set the backend API URL:

NEXT_PUBLIC_API_BASE_URL=http://localhost:3001/api

Finally, start the frontend development server:

npm run dev

Your Nexus platform should now be running at http://localhost:3000!

Default Login: nexus@email.com 123456


📌 Note

Ya, there are probably still some bugs and plenty of things that could be improved. I work on this project in my free time. Any help, feedback, or contributions are welcome.


⚠️ Disclaimer

All media content (images, videos, trailers) shown in this repository is used for demonstration purposes only.

All rights belong to their respective owners, including but not limited to studios such as Marvel Studios and other content distributors.

This project does not claim ownership over any copyrighted material displayed in previews or demo assets.


📄 License

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

About

A modern, self-hostable streaming platform with a powerful admin panel. Built with Next.js, Node.js, and PostgreSQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Nexus - Your Streaming Platform

Preview

Nexus is a modern, open-source, and self-hostable streaming platform, designed to deliver a sleek and elegant viewing experience. Built with a powerful admin panel, it allows for easy management of your movie, series, and anime library.

LicenseNode.jsNext.jsPostgreSQL


✨ Features

Nexus is packed with features to provide a premium user experience, similar to popular streaming services.

  • Modern & Elegant Player: A sleek, intuitive player with a beautiful screensaver effect on pause.
  • VAST Ad Support: Monetize your content with VAST ad integration.
  • Auto Next Episode: Automatically plays the next episode for a seamless binge-watching session.
  • Complete Admin Panel: Easily add and manage movies, series, and animes with full TMDB integration.
  • Dynamic Feature Banner: Showcase trailers or featured content with an elegant, auto-playing video banner.
  • Customizable Avatars: Users can personalize their profiles with custom avatars.
  • Dual-Language Support: Built-in support for multiple languages (English/Portuguese by default).
  • Fully Responsive: A flawless experience on any device, from desktops to smartphones.
  • User Profiles (Who's Watching?): Netflix-style user profiles for a personalized experience.
  • Continue Watching: Users can easily pick up where they left off.
  • Highly Customizable: Tailor the entire site to your brand and needs.

🎬 Showcase

Here's a glimpse of Nexus in action.

First Impressions: A Quick Tour of the HomepagePreview

Engaging Feature Banner with Video TrailersPreview

Personalized Experience with User ProfilesPreview

Rich Content Details for Movies and SeriesPreview

Never Lose Your Place with "Continue Watching"Preview

Elegant Screensaver on PausePreview

Seamless Binge-Watching with "Next Episode"Preview

Integrated VAST Ad SupportPreview

Powerful & Intuitive Admin PanelPreview

Effortless Content ManagementPreview


🚀 Getting Started: Installation Guide

To get Nexus up and running on your local machine, follow these steps.

Prerequisites

  • Node.js (v18 or newer recommended)
  • PostgreSQL

1. Database Setup

First, you need to create a PostgreSQL database and import the provided schema.

# Create an empty database (e.g., 'nexus')
createdb nexus
# Import the database schema and default structure
psql -d nexus -f database.sql

(Replace nexus with your chosen database name if different)

2. Backend Setup

The backend is a Node.js server that connects to your database.

# Navigate to the backend directorycd backend
# Install dependencies
npm install
# Create your environment file from the example
cp .env.example .env

Now, open the newly created .env file and configure your database connection and frontend URL.

FRONTEND_URL=http://localhost:3000DATABASE_URL="postgresql://YOUR_USER:YOUR_PASSWORD@localhost:5432/nexus"JWT_SECRET="generate_a_strong_random_secret_here"TMDB_API_KEY="your_tmdb_api_key_here"

Once configured, start the backend server:

npm run dev

3. Frontend Setup

The frontend is a Next.js application.

# Open a new terminal and navigate to the frontend directorycd frontend
# Install dependencies
npm install
# Create your local environment file
cp .env.local.example .env.local

Now, open the new .env.local file and set the backend API URL:

NEXT_PUBLIC_API_BASE_URL=http://localhost:3001/api

Finally, start the frontend development server:

npm run dev

Your Nexus platform should now be running at http://localhost:3000!

Default Login: nexus@email.com 123456


📌 Note

Ya, there are probably still some bugs and plenty of things that could be improved. I work on this project in my free time. Any help, feedback, or contributions are welcome.


⚠️ Disclaimer

All media content (images, videos, trailers) shown in this repository is used for demonstration purposes only.

All rights belong to their respective owners, including but not limited to studios such as Marvel Studios and other content distributors.

This project does not claim ownership over any copyrighted material displayed in previews or demo assets.


📄 License

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

About

A modern, self-hostable streaming platform with a powerful admin panel. Built with Next.js, Node.js, and PostgreSQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Nexus - Your Streaming Platform

Preview

Nexus is a modern, open-source, and self-hostable streaming platform, designed to deliver a sleek and elegant viewing experience. Built with a powerful admin panel, it allows for easy management of your movie, series, and anime library.

LicenseNode.jsNext.jsPostgreSQL


✨ Features

Nexus is packed with features to provide a premium user experience, similar to popular streaming services.

  • Modern & Elegant Player: A sleek, intuitive player with a beautiful screensaver effect on pause.
  • VAST Ad Support: Monetize your content with VAST ad integration.
  • Auto Next Episode: Automatically plays the next episode for a seamless binge-watching session.
  • Complete Admin Panel: Easily add and manage movies, series, and animes with full TMDB integration.
  • Dynamic Feature Banner: Showcase trailers or featured content with an elegant, auto-playing video banner.
  • Customizable Avatars: Users can personalize their profiles with custom avatars.
  • Dual-Language Support: Built-in support for multiple languages (English/Portuguese by default).
  • Fully Responsive: A flawless experience on any device, from desktops to smartphones.
  • User Profiles (Who's Watching?): Netflix-style user profiles for a personalized experience.
  • Continue Watching: Users can easily pick up where they left off.
  • Highly Customizable: Tailor the entire site to your brand and needs.

🎬 Showcase

Here's a glimpse of Nexus in action.

First Impressions: A Quick Tour of the HomepagePreview

Engaging Feature Banner with Video TrailersPreview

Personalized Experience with User ProfilesPreview

Rich Content Details for Movies and SeriesPreview

Never Lose Your Place with "Continue Watching"Preview

Elegant Screensaver on PausePreview

Seamless Binge-Watching with "Next Episode"Preview

Integrated VAST Ad SupportPreview

Powerful & Intuitive Admin PanelPreview

Effortless Content ManagementPreview


🚀 Getting Started: Installation Guide

To get Nexus up and running on your local machine, follow these steps.

Prerequisites

  • Node.js (v18 or newer recommended)
  • PostgreSQL

1. Database Setup

First, you need to create a PostgreSQL database and import the provided schema.

# Create an empty database (e.g., 'nexus')
createdb nexus
# Import the database schema and default structure
psql -d nexus -f database.sql

(Replace nexus with your chosen database name if different)

2. Backend Setup

The backend is a Node.js server that connects to your database.

# Navigate to the backend directorycd backend
# Install dependencies
npm install
# Create your environment file from the example
cp .env.example .env

Now, open the newly created .env file and configure your database connection and frontend URL.

FRONTEND_URL=http://localhost:3000DATABASE_URL="postgresql://YOUR_USER:YOUR_PASSWORD@localhost:5432/nexus"JWT_SECRET="generate_a_strong_random_secret_here"TMDB_API_KEY="your_tmdb_api_key_here"

Once configured, start the backend server:

npm run dev

3. Frontend Setup

The frontend is a Next.js application.

# Open a new terminal and navigate to the frontend directorycd frontend
# Install dependencies
npm install
# Create your local environment file
cp .env.local.example .env.local

Now, open the new .env.local file and set the backend API URL:

NEXT_PUBLIC_API_BASE_URL=http://localhost:3001/api

Finally, start the frontend development server:

npm run dev

Your Nexus platform should now be running at http://localhost:3000!

Default Login: nexus@email.com 123456


📌 Note

Ya, there are probably still some bugs and plenty of things that could be improved. I work on this project in my free time. Any help, feedback, or contributions are welcome.


⚠️ Disclaimer

All media content (images, videos, trailers) shown in this repository is used for demonstration purposes only.

All rights belong to their respective owners, including but not limited to studios such as Marvel Studios and other content distributors.

This project does not claim ownership over any copyrighted material displayed in previews or demo assets.


📄 License

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

About

A modern, self-hostable streaming platform with a powerful admin panel. Built with Next.js, Node.js, and PostgreSQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Nexus - Your Streaming Platform

Preview

Nexus is a modern, open-source, and self-hostable streaming platform, designed to deliver a sleek and elegant viewing experience. Built with a powerful admin panel, it allows for easy management of your movie, series, and anime library.

LicenseNode.jsNext.jsPostgreSQL


✨ Features

Nexus is packed with features to provide a premium user experience, similar to popular streaming services.

  • Modern & Elegant Player: A sleek, intuitive player with a beautiful screensaver effect on pause.
  • VAST Ad Support: Monetize your content with VAST ad integration.
  • Auto Next Episode: Automatically plays the next episode for a seamless binge-watching session.
  • Complete Admin Panel: Easily add and manage movies, series, and animes with full TMDB integration.
  • Dynamic Feature Banner: Showcase trailers or featured content with an elegant, auto-playing video banner.
  • Customizable Avatars: Users can personalize their profiles with custom avatars.
  • Dual-Language Support: Built-in support for multiple languages (English/Portuguese by default).
  • Fully Responsive: A flawless experience on any device, from desktops to smartphones.
  • User Profiles (Who's Watching?): Netflix-style user profiles for a personalized experience.
  • Continue Watching: Users can easily pick up where they left off.
  • Highly Customizable: Tailor the entire site to your brand and needs.

🎬 Showcase

Here's a glimpse of Nexus in action.

First Impressions: A Quick Tour of the HomepagePreview

Engaging Feature Banner with Video TrailersPreview

Personalized Experience with User ProfilesPreview

Rich Content Details for Movies and SeriesPreview

Never Lose Your Place with "Continue Watching"Preview

Elegant Screensaver on PausePreview

Seamless Binge-Watching with "Next Episode"Preview

Integrated VAST Ad SupportPreview

Powerful & Intuitive Admin PanelPreview

Effortless Content ManagementPreview


🚀 Getting Started: Installation Guide

To get Nexus up and running on your local machine, follow these steps.

Prerequisites

  • Node.js (v18 or newer recommended)
  • PostgreSQL

1. Database Setup

First, you need to create a PostgreSQL database and import the provided schema.

# Create an empty database (e.g., 'nexus')
createdb nexus
# Import the database schema and default structure
psql -d nexus -f database.sql

(Replace nexus with your chosen database name if different)

2. Backend Setup

The backend is a Node.js server that connects to your database.

# Navigate to the backend directorycd backend
# Install dependencies
npm install
# Create your environment file from the example
cp .env.example .env

Now, open the newly created .env file and configure your database connection and frontend URL.

FRONTEND_URL=http://localhost:3000DATABASE_URL="postgresql://YOUR_USER:YOUR_PASSWORD@localhost:5432/nexus"JWT_SECRET="generate_a_strong_random_secret_here"TMDB_API_KEY="your_tmdb_api_key_here"

Once configured, start the backend server:

npm run dev

3. Frontend Setup

The frontend is a Next.js application.

# Open a new terminal and navigate to the frontend directorycd frontend
# Install dependencies
npm install
# Create your local environment file
cp .env.local.example .env.local

Now, open the new .env.local file and set the backend API URL:

NEXT_PUBLIC_API_BASE_URL=http://localhost:3001/api

Finally, start the frontend development server:

npm run dev

Your Nexus platform should now be running at http://localhost:3000!

Default Login: nexus@email.com 123456


📌 Note

Ya, there are probably still some bugs and plenty of things that could be improved. I work on this project in my free time. Any help, feedback, or contributions are welcome.


⚠️ Disclaimer

All media content (images, videos, trailers) shown in this repository is used for demonstration purposes only.

All rights belong to their respective owners, including but not limited to studios such as Marvel Studios and other content distributors.

This project does not claim ownership over any copyrighted material displayed in previews or demo assets.


📄 License

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

About

A modern, self-hostable streaming platform with a powerful admin panel. Built with Next.js, Node.js, and PostgreSQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Nexus - Your Streaming Platform

Preview

Nexus is a modern, open-source, and self-hostable streaming platform, designed to deliver a sleek and elegant viewing experience. Built with a powerful admin panel, it allows for easy management of your movie, series, and anime library.

LicenseNode.jsNext.jsPostgreSQL


✨ Features

Nexus is packed with features to provide a premium user experience, similar to popular streaming services.

  • Modern & Elegant Player: A sleek, intuitive player with a beautiful screensaver effect on pause.
  • VAST Ad Support: Monetize your content with VAST ad integration.
  • Auto Next Episode: Automatically plays the next episode for a seamless binge-watching session.
  • Complete Admin Panel: Easily add and manage movies, series, and animes with full TMDB integration.
  • Dynamic Feature Banner: Showcase trailers or featured content with an elegant, auto-playing video banner.
  • Customizable Avatars: Users can personalize their profiles with custom avatars.
  • Dual-Language Support: Built-in support for multiple languages (English/Portuguese by default).
  • Fully Responsive: A flawless experience on any device, from desktops to smartphones.
  • User Profiles (Who's Watching?): Netflix-style user profiles for a personalized experience.
  • Continue Watching: Users can easily pick up where they left off.
  • Highly Customizable: Tailor the entire site to your brand and needs.

🎬 Showcase

Here's a glimpse of Nexus in action.

First Impressions: A Quick Tour of the HomepagePreview

Engaging Feature Banner with Video TrailersPreview

Personalized Experience with User ProfilesPreview

Rich Content Details for Movies and SeriesPreview

Never Lose Your Place with "Continue Watching"Preview

Elegant Screensaver on PausePreview

Seamless Binge-Watching with "Next Episode"Preview

Integrated VAST Ad SupportPreview

Powerful & Intuitive Admin PanelPreview

Effortless Content ManagementPreview


🚀 Getting Started: Installation Guide

To get Nexus up and running on your local machine, follow these steps.

Prerequisites

  • Node.js (v18 or newer recommended)
  • PostgreSQL

1. Database Setup

First, you need to create a PostgreSQL database and import the provided schema.

# Create an empty database (e.g., 'nexus')
createdb nexus
# Import the database schema and default structure
psql -d nexus -f database.sql

(Replace nexus with your chosen database name if different)

2. Backend Setup

The backend is a Node.js server that connects to your database.

# Navigate to the backend directorycd backend
# Install dependencies
npm install
# Create your environment file from the example
cp .env.example .env

Now, open the newly created .env file and configure your database connection and frontend URL.

FRONTEND_URL=http://localhost:3000DATABASE_URL="postgresql://YOUR_USER:YOUR_PASSWORD@localhost:5432/nexus"JWT_SECRET="generate_a_strong_random_secret_here"TMDB_API_KEY="your_tmdb_api_key_here"

Once configured, start the backend server:

npm run dev

3. Frontend Setup

The frontend is a Next.js application.

# Open a new terminal and navigate to the frontend directorycd frontend
# Install dependencies
npm install
# Create your local environment file
cp .env.local.example .env.local

Now, open the new .env.local file and set the backend API URL:

NEXT_PUBLIC_API_BASE_URL=http://localhost:3001/api

Finally, start the frontend development server:

npm run dev

Your Nexus platform should now be running at http://localhost:3000!

Default Login: nexus@email.com 123456


📌 Note

Ya, there are probably still some bugs and plenty of things that could be improved. I work on this project in my free time. Any help, feedback, or contributions are welcome.


⚠️ Disclaimer

All media content (images, videos, trailers) shown in this repository is used for demonstration purposes only.

All rights belong to their respective owners, including but not limited to studios such as Marvel Studios and other content distributors.

This project does not claim ownership over any copyrighted material displayed in previews or demo assets.


📄 License

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

About

A modern, self-hostable streaming platform with a powerful admin panel. Built with Next.js, Node.js, and PostgreSQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Nexus - Your Streaming Platform

Preview

Nexus is a modern, open-source, and self-hostable streaming platform, designed to deliver a sleek and elegant viewing experience. Built with a powerful admin panel, it allows for easy management of your movie, series, and anime library.

LicenseNode.jsNext.jsPostgreSQL


✨ Features

Nexus is packed with features to provide a premium user experience, similar to popular streaming services.

  • Modern & Elegant Player: A sleek, intuitive player with a beautiful screensaver effect on pause.
  • VAST Ad Support: Monetize your content with VAST ad integration.
  • Auto Next Episode: Automatically plays the next episode for a seamless binge-watching session.
  • Complete Admin Panel: Easily add and manage movies, series, and animes with full TMDB integration.
  • Dynamic Feature Banner: Showcase trailers or featured content with an elegant, auto-playing video banner.
  • Customizable Avatars: Users can personalize their profiles with custom avatars.
  • Dual-Language Support: Built-in support for multiple languages (English/Portuguese by default).
  • Fully Responsive: A flawless experience on any device, from desktops to smartphones.
  • User Profiles (Who's Watching?): Netflix-style user profiles for a personalized experience.
  • Continue Watching: Users can easily pick up where they left off.
  • Highly Customizable: Tailor the entire site to your brand and needs.

🎬 Showcase

Here's a glimpse of Nexus in action.

First Impressions: A Quick Tour of the HomepagePreview

Engaging Feature Banner with Video TrailersPreview

Personalized Experience with User ProfilesPreview

Rich Content Details for Movies and SeriesPreview

Never Lose Your Place with "Continue Watching"Preview

Elegant Screensaver on PausePreview

Seamless Binge-Watching with "Next Episode"Preview

Integrated VAST Ad SupportPreview

Powerful & Intuitive Admin PanelPreview

Effortless Content ManagementPreview


🚀 Getting Started: Installation Guide

To get Nexus up and running on your local machine, follow these steps.

Prerequisites

  • Node.js (v18 or newer recommended)
  • PostgreSQL

1. Database Setup

First, you need to create a PostgreSQL database and import the provided schema.

# Create an empty database (e.g., 'nexus')
createdb nexus
# Import the database schema and default structure
psql -d nexus -f database.sql

(Replace nexus with your chosen database name if different)

2. Backend Setup

The backend is a Node.js server that connects to your database.

# Navigate to the backend directorycd backend
# Install dependencies
npm install
# Create your environment file from the example
cp .env.example .env

Now, open the newly created .env file and configure your database connection and frontend URL.

FRONTEND_URL=http://localhost:3000DATABASE_URL="postgresql://YOUR_USER:YOUR_PASSWORD@localhost:5432/nexus"JWT_SECRET="generate_a_strong_random_secret_here"TMDB_API_KEY="your_tmdb_api_key_here"

Once configured, start the backend server:

npm run dev

3. Frontend Setup

The frontend is a Next.js application.

# Open a new terminal and navigate to the frontend directorycd frontend
# Install dependencies
npm install
# Create your local environment file
cp .env.local.example .env.local

Now, open the new .env.local file and set the backend API URL:

NEXT_PUBLIC_API_BASE_URL=http://localhost:3001/api

Finally, start the frontend development server:

npm run dev

Your Nexus platform should now be running at http://localhost:3000!

Default Login: nexus@email.com 123456


📌 Note

Ya, there are probably still some bugs and plenty of things that could be improved. I work on this project in my free time. Any help, feedback, or contributions are welcome.


⚠️ Disclaimer

All media content (images, videos, trailers) shown in this repository is used for demonstration purposes only.

All rights belong to their respective owners, including but not limited to studios such as Marvel Studios and other content distributors.

This project does not claim ownership over any copyrighted material displayed in previews or demo assets.


📄 License

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

About

A modern, self-hostable streaming platform with a powerful admin panel. Built with Next.js, Node.js, and PostgreSQL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages