VoxTube: The video streaming platform.

VoxTube: The video streaming platform.

PlanetScale X Hashnode hackathon submission.

1. Introduction

VoxTube is 'a' video streaming platform, developed by Ahmad Muhammad for the planet Scale Hackathon, VoxTube is video streaming platform made for content creators to reach their target audience.

VoxTube backend was built with Nestjs and typescript whereas the streaming module is written in golang, the assets(videos, images and others) are being stored in cloudinary.

Most of us already know that nodejs runs on a single thread node, and it can't handle intensive/heavy cpu workload/activities as it will impact the server resource and memory, the effect might not be notice especially in local host where you are the only user but in production where it might get thousands of requests per second, because of that go lang was used for handling the pictures and videos upload / live-streaming (in progress)

2. What is VoxTube

VoxTube is a video streaming platform made for content creators.

3. Why VoxTube

Thousands of content creators on the internet don't have the chance to reach their targeted number of audience due to competition by popular content creators in the internet.

Due to that factor, New content creators find it difficult to be noticed by their audience since they are not known and not popular. Most of these content creators usually give up and quit along the way.

VoxTube makes it possible for new content creators to be noticed, and reach their audience by boosting creators' contents on the platform ensuring it reaches larger number of audience even if you are a newbie creator.

VoxTube is not just for content creators but also for Movie Makers, Tutorials, Comedy Skits, Fun Facts, Entertainment and more.

4. VoxTube Features

VoxTube is made up of the following features:

voxtube.png

  • User

    • Authentication
    • Watch Videos

    • Studio Screenshot from 2022-07-31 14-24-10.png

      The studio section let a user create a channel and manage them.

      • Create a new channel
      • Manage Channel
      • Delete Channel
      • Upload videos to a channel
      • Create a serie(collection) and upload to it.
      • Published/unpublished contents
    • Channels

channels list.png

  • Series

  • Admin voxtube-menu.png

    Provided your role is Admin the dashboard button will appear above as seen in the above url, else the dashboard button does not show, if you want to see the admin dashboard and explore it you can comment below with your username let me make your account admin/mod.

    • Dashboard(basic statistics)

dashb.png

  • View Users
  • Change Role [Super, Admin, Mod, User]
  • Ban/suspend user
  • Lists of Channels
  • View Reported Contents

5. VoxTube Features In Progress

Due to the limited time frame for the hackathon, some features are not fully implemented or are in progress, some of them are:

  • Live Streaming
  • Series/Collection
  • Buy Videos(A content creator can decide a resource/content is free, so the user will have to pay to unlock/access that resource to support the creator)
  • Donate to a creator
  • commenting

7. Tech Stack

  • Planet Scale

    Is a database for developers, scalers, creators, optimists, builders, and enterprises. It's a MySQL-compatible serverless database platform.

  • Prisma

    Prisma is an ORM that helps app developers build faster and make fewer errors. Combined with its Data Platform developers gain reliability and visibility when working with databases.

  • Typescript

    TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.

  • Golang

    Go (also called Golang or Go language) is an open source programming language used for general purpose. Go was developed by Google engineers to create dependable and efficient software.

  • Nestjs

    A progressive Node.js framework for building efficient, reliable and scalable server-side applications.

  • Vuejs

    Vue.js is an open-source model–view–viewmodel front end JavaScript framework for building user interfaces and single-page applications.

  • Nuxtjs

    Nuxt.js is a free and open source JavaScript library based on Vue.js, Node.js, Webpack and Babel.js. Nuxt is inspired by Next.js, which is a framework of similar purpose, based on React.js. The framework is advertised as a "Meta-framework for universal applications".

  • Vuetify

    Vuetify is a Vue UI Library with beautifully handcrafted Material Components. No design skills required — everything you need to create amazing applications is at your fingertips.

8. Infrastructure

  • Cloudinary

    Cloudinary is a SaaS technology company, It enables users to upload, store, manage, manipulate, and deliver images and video for websites and apps.

  • Heroku

    The VoxTube Server is hosted on heroku

  • Netlify

    The VoxTube client(front end) is hosted in netlify

9. CMS

I will also use this opportunity to discus CMS.

What is a CMS (Content Management System) ?:

A content management system, often abbreviated as CMS, is software that helps users create, manage, and modify content on a website without the need for specialized technical knowledge.

In simpler language, a content management system is a tool that helps you build a website without needing to write all the code from scratch (or even know how to code at all).

Instead of building your own system for creating web pages, storing images, and other functions, the content management system handles all that basic infrastructure stuff for you so that you can focus on more forward-facing parts of your website.

Beyond websites, you can also find content management systems for other functions – like document management.

Example of CMS such as Wordpress, Strapi, hashnode, medium, VoxTube and lot more.

Read more on CMS

10. References

11. Conclusion

Thanks to PlanetScale and HashNode for organising this great hackathon.