/Video-platform

A video platform For Amalitech NSS Code Review

Primary LanguageJavaScriptMIT LicenseMIT

Project Documentation

  • Project Title : Paul Leonard's Video Platform

Page Contents

  • Aim Of Project

    • Defines the overarching goals and objectives the video patform project aims to achieve.
  • Home Page

    • A simple Homepage For Paul Leonard's Video Platform
  • Customer Specifications

    • Outlines the specifications and expectations provided by the customer(Paul Leonard).
  • Video Page

    • Describes the video page features and functionalities that will be included in the project.
  • Project Deliverables

    • Specifies the key outputs and results that will be delivered upon project completion.
  • Installation

    • Provides detailed steps for installing and setting up the project environment.
  • Usage Instructions

    • Offers a comprehensive guide on how to operate and utilize the project effectively.
  • Admin Credentials

    • Demo Login Details(Admin)
  • User Credentials

    • Demon Login Details(User)
  • Contributing

    • Details the process and guidelines for contributing to the project’s development.
  • License

    • Explains the terms and conditions under which the project can be used and distributed.
  • Frontend Reactivity And Templating Credits

    • Credits to thirdparty libraries and templates that aided in making this a success

Aim Of Project

Paul Leonard, a video creator, is looking for a customized video hosting platform to meet his business's branding needs. Unhappy with current options, he wants a unique solution that allows him to exclusively upload videos under his own brand. Recommended to him by close friends, you now have the opportunity to deliver this tailored solution.

Home Page

image

Client Specifications

Clients -> Users

  1. Signup & Login: Users must create an account and log in using an email and password. Account verification is required. Additionally, there should be a feature for resetting passwords to recover lost access.
  • Register image

  • Log in image

  • Reset Password -image

  • Reset Password Email -image

Video Pages: Users should be able to seamlessly navigate between videos(previous, and next buttons are hidden respectively - if the need be.. )

  • Video Pages -image
  1. Share Videos: Users need to have the capability to distribute video links across multiple pages.

image

Administrators -> Admin

  1. Upload Videos: Administrators need to be able to upload videos, including adding titles and descriptions.

Video Page

image

Project Deliverables

Installation

Here are the steps to install and run this project locally:

  1. Clone this repository. git clone github.com/zaidanali028/video-platform

  2. Navigate to the project directory. cd Video-platform

  3. Install requirements. pip install -r requirements.txt

  4. Set Environment Variables

  • Add a .env file in the frame_fusion directory with these values:
    API_KEY=<FIREBASE_API_KEY>
    AUTH_DOMAIN=<FIREBASE_AUTH_DOMAIN>
    PROJECT_ID=<FIREBASE_PROJECT_ID>
    STORAGE_BUCKET=<FIREBASE_STORAGE_BUCKET>
    MESSAGING_SENDER_ID=<FIREBASE_MESSAGING_SENDER_ID>
    APP_ID=<FIREBASE_API_ID>
    MEASUREMENT_ID=<FIREBASE_MEASUREMENT_ID>
    CLOUDINARY_API_KEY=<CLOUDINARY_API_KEY>
    CLOUDINARY_API_SECRET=<CLOUDINARY_API_SECRET>
    CLOUDINARY_CLOUD_NAME=<CLOUDINARY_CLOUD_NAME>
    EMAIL_PORT=<SMTP_EMAIL_PORT>
    EMAIL_HOST=<SMTP_EMAIL_HOST>
    EMAIL_HOST_USER=<EMAIL_ADDRESS>
    EMAIL_HOST_PASSWORD=<EMAIL_PASSWORD>
    EMAIL_USE_TLS=TRUE
    DEFAULT_FROM_EMAIL=<EMAIL_ADDRESS>
    
  1. Configure Firebase Cloud Storage
  • You can configure Firebase Cloud Storage here.
  1. Configure Cloudinary API Keys
  • You can configure your Cloudinary API keys here.
  1. Configure SMTP for Sending Emails
  • Configure SMTP settings for sending emails here.

8.Running migrations python3 manage.py migrate

  1. Creating superuser: python manage.py createsuperuser

  2. Starting the dev server: python manage.py runserver

  3. Access the video platform at http://127.0.0.1:8000/

Usage Instructions

  1. Register or log in to access the platform.

  2. Explore various video pages using the provided navigation controls on the videos Page.

  3. Upload videos Administrators only.

  4. Share video links with others.

  5. You can access the demo of this application at Demo Url.

Admin Credentials

User Credentials

Contributing

License

This project is licensed under the MIT License.

Frontend Reactivity And Templating Credits

  • HTMX HTMX is a lightweight JavaScript library that allows you to access AJAX, WebSockets, and Server-Sent Events directly in HTML, using attributes like hx-get and hx-post. It simplifies the integration of dynamic content into your web applications. Learn more about HTMX

  • Soft UI Tailwind Admin Dashboard by Creative Tim The Soft UI Tailwind Admin Dashboard is a modern, responsive admin template built with Tailwind CSS. It provides a clean and customizable interface for building web applications with ease. Explore the Soft UI Tailwind Admin Dashboard

  • Colorlib Bootstrap Anime Video Template The Colorlib Bootstrap Anime Video Template is a responsive web template designed for showcasing anime videos. It utilizes Bootstrap framework for layout and styling, making it easy to create visually appealing video-centric websites. Check out the Colorlib Bootstrap Anime Video Template