Rebuilding TikTok with api.video, PWA, Next.js and Typescript 🎵

Overview

Api.video Logo

Rebuilding TikTok with api.video, PWA, Next.js and Typescript 🎵

Twitter Badge Pull Requests Badge

An open-source example application that allows users to list and upload videos in the TikTok style using api.video

View Demo

Table of Contents

  1. About The Project
  2. Getting Started

About The Project

Api.video:

  • Get videos: @api.video/nodejs-client - api.video's Node.js is a lightweight client built in TypeScript that streamlines the coding process. Chunking files is handled for you, as is pagination and refreshing your tokens.
  • Display videos: @api.video/react-player - A React component for playing api.video videos.
  • Upload videos: @api.video/video-uploader - Typescript library to upload videos to api.video using delegated upload token (or usual access token) from the front-end.

NextJS:

  • /pages/api routes — a couple endpoints for making requests to the api.video API.
  • client-side cache library swr.
  • Usage of next-pwa to transform the Next.js app into a PWA.

Getting Started

Step 1. Clone

First we need to clone the project

[email protected]:apivideo/tiktok_clone.git
cd tiktok_clone

# install deppedencies
npm install
# or
yarn install

# run the development server
npm run dev
# or
yarn dev

Step 2. Get API Key by creating an account

All you need to set this up is a api.video account. You can sign up for free. You can use our services in sandbox environment but the videos you upload will last 24 hours.

Once you signed up, you will have a sandbox API Key available on the home page.

Step 3. Get your token for delegated uploads

Go to the api.video's dashboard. Go to upload token section and then create a new one. In case of interrogations follow this guide.

Step 4. Set Up Environment Variables

In order to see your videos by default, all you have to do is to use your API Key and an upload token. You need to create a environment variable at the root of the project.

touch .env.local

Then edit the file like API_KEY should be your API_KEY available on the dashboard and NEXT_PUBLIC_UPLOAD_TOKEN your upload token

API_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXX
NEXT_PUBLIC_UPLOAD_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXX
You might also like...

This is a YouTube Video Planner app built with NextJS, GraphQL, Prisma and MongoDB for the MongoDB Atlas Hackathon

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Jan 14, 2022

A tool to download all videos and convert to mp3 inside a video set of bilibili.

bilibili-video2mp3 A tool to download all videos and convert to mp3 inside a video set of bilibili (also works for single video, of course). You will

Dec 15, 2022

Library to calculate a Mean Opinion Score (MOS) from 1 to 5 for audio and video real time communications

RTC SCORE Library to calculate a Mean Opinion Score (MOS) from 1 to 5 for audio and video real time communications. The first version of the algorithm

Nov 27, 2022

Secretly record audio and video with chromium based browsers

snoop TCC restricts access to the device camera and microphone to protect user data from unauthorized access. But... If you trusted your browser with

Aug 30, 2022

Flexible and easy Dash/HLS/DRM integration for HTML5 video.

Flexible and easy Dash/HLS/DRM integration for HTML5 video.

This project is made possible with Plyr, Hls.js, Dash.js. Features 📑 HLS and DASH playback 🎥 Multi quality supported 🎬 Drm with custom header suppo

Nov 11, 2022

A high-performance, interactive and customizable video player control, built upon Reanimated v2 & GestureHandler v2

A high-performance, interactive and customizable video player control, built upon Reanimated v2 & GestureHandler v2

`JSThread` to `JSThread`, `UIThread` to `UIThread`. React Native Reanimated Expo Player 100% written in Typescript video player component, interaction

Jan 4, 2023

Expertly and easily export GreenSock (GSAP) animation to video.

gsap-video-export Expertly and easily export GreenSock (GSAP) animation to video. gsap-video-export is a simple tool for exporting your GreenSock (GSA

Dec 15, 2022

Self hosted media tracker for movies, tv shows, video games, books and audiobooks

MediaTracker · Self hosted platform for tracking movies, tv shows, video games, books and audiobooks, highly inspired by flox Demo https://mediatracke

Jan 3, 2023

Resurrection of mediagroup / MediaController (renamed) which can be used to sync and control multiple audio / video elements.

media-group (examples) Resurrection of the mediagroup attribute and MediaController API (but renamed) which can be used to sync and control multiple a

Dec 15, 2022
Owner
api.video
Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.
api.video
Scraper for TikTok. Download videos, music, fetch users info and more.

tiktok-scraper A fast light-weight scraper for tiktok to fetch and download video posts, video music, user info and more. Installation npm i tiktok-sc

null 41 Jan 1, 2023
Um simples bot para o Telegram que baixa vídeos e áudios do TikTok & outras funcionalidades

Kelle Estella (Telegram) Um simples bot para o Telegram que baixa vídeos e áudios do TikTok & outras funcionalidades. Clique aqui para utilizá-lo. Com

Luis Gabriel Araújo 3 Apr 20, 2022
Recap let's you recap on your favourite social network videos by downloading them on your devices, from the range of YouTube, SoundCloud, Facebook, Twitter, Instagram, TikTok, Vimeo, Dailymotion, VK, or AOL.

Recap A Social Network Video Downloader Recap let's you recap on your favourite social network videos by downloading them on your devices, from the ra

John Oladele 4 Sep 24, 2022
A Chrome extension to help you inspect Mp4 video content and find irregularities in video streams.

MP4Inspector A Chrome extension to help you inspect Mp4 video content and find irregularities in video streams. Installation In chrome navigate to chr

Bitmovin 48 Nov 28, 2022
Video.js - open source HTML5 & Flash video player

Video.js - HTML5 Video Player Video.js is a web video player built from the ground up for an HTML5 world. It supports HTML5 video and Media Source Ext

Video.js 34.8k Jan 5, 2023
HTML5

One file. Any browser. Same UI. Author: John Dyer http://j.hn/ Website: http://mediaelementjs.com/ License: MIT Meaning: Use everywhere, keep copyrigh

MediaElement.js 8k Dec 27, 2022
HTML5

One file. Any browser. Same UI. Author: John Dyer http://j.hn/ Website: http://mediaelementjs.com/ License: MIT Meaning: Use everywhere, keep copyrigh

MediaElement.js 8k Jan 8, 2023
Free Anime Streaming Website Made with PHP and Gogoanime API. No Video ads

AniKatsu - Watch High Quality Anime Online Without Ads Demo https://anikatsu.ga This is a PHP application used for browsing, searching and watching an

Shashank Tiwari 34 Nov 7, 2022
This is a simple web based media player for playing video and audio. Build with pure HTML, CSS and Javascript. No framework or library included.

Aim-Player This is a simple web based media player for playing video and audio. Build with pure HTML, CSS and Javascript. No framework or library incl

Aim Mikel 2 Jun 27, 2021
Enables

HTML5 video made easy All it takes is a single line of code to make HTML5 video and audio tags work in all major browsers. How to enable video and aud

Dave Hall 1.3k Dec 17, 2022