All Projects → watch-devtube → Web

watch-devtube / Web

🍿 Free and open-source tech video hub.

Projects that are alternatives of or similar to Web

Osem
Open Source Event Manager. An event management tool tailored to Free and Open Source Software conferences.
Stars: ✭ 649 (+154.51%)
Mutual labels:  conference, conferences
Virtualseccons
An ongoing list of virtual cybersecurity conferences.
Stars: ✭ 113 (-55.69%)
Mutual labels:  conference, conferences
Awesome Conferences Database
📲 A collaborative list of Conferences
Stars: ✭ 485 (+90.2%)
Mutual labels:  conference, conferences
Contrib
Data for dev.tube – 🍿 a free and open-source tech video hub.
Stars: ✭ 247 (-3.14%)
Mutual labels:  conferences, videos
gotodevops.org
Source code for gotodevops.org.
Stars: ✭ 45 (-82.35%)
Mutual labels:  conference, conferences
Conference Data
Conference data for www.confs.tech
Stars: ✭ 197 (-22.75%)
Mutual labels:  conference, conferences
Awesome Cfp
A collection of awesome Call For Papers to never miss to speak anymore 🗣
Stars: ✭ 87 (-65.88%)
Mutual labels:  conference, conferences
awesome-conference-videos
🎸 Conference videos. Visit http://learntalks.com/
Stars: ✭ 40 (-84.31%)
Mutual labels:  conference, videos
speakerline
Showcasing speakers' proposals and timelines in an effort to demystify the CFP process and help new speakers get started.
Stars: ✭ 57 (-77.65%)
Mutual labels:  conference, conferences
Tech-Conferences
Overview of upcoming and past tech conferences
Stars: ✭ 42 (-83.53%)
Mutual labels:  conference, conferences
ordina-jworks.github.io
Ordina JWorks Business Unit Tech Blog
Stars: ✭ 27 (-89.41%)
Mutual labels:  conference, conferences
conferences
Curated list of conferences and CFPs that interest me
Stars: ✭ 17 (-93.33%)
Mutual labels:  conference, conferences
clowdr
Midspace (formerly Clowdr) is a completely open-source virtual conference platform. Host complex events with hundreds of authors and presenters. Midspace includes automated livestreams, video chat, text chat, randomised networking and much more.
Stars: ✭ 48 (-81.18%)
Mutual labels:  conference
talks
My conference talks
Stars: ✭ 77 (-69.8%)
Mutual labels:  conferences
ios-swift-chat-ui-kit
Ready-to-use Chat UI Components for Swift (iOS)
Stars: ✭ 42 (-83.53%)
Mutual labels:  conference
esug.github.io
European Smalltalk User Group Web site
Stars: ✭ 13 (-94.9%)
Mutual labels:  conference
Piped
An alternative privacy-friendly YouTube frontend which is efficient by design.
Stars: ✭ 1,725 (+576.47%)
Mutual labels:  videos
laravelevents
Repo containing the code behind Laravel Events
Stars: ✭ 55 (-78.43%)
Mutual labels:  conferences
ios-swift-chat-app
Open-source Voice & Video Calling and Text Chat App for Swift (iOS)
Stars: ✭ 111 (-56.47%)
Mutual labels:  conference
gettyimages-api nodejs
Getty Images API SDK for Node.js
Stars: ✭ 17 (-93.33%)
Mutual labels:  videos

Build Status

Dev.Tube

This repository contains Vue.js frontend and Express.js backend for DevTube.

Table of content

How to run DevTube locally

Install global dependencies

Install Yarn:

npm install -g yarn

Install Google Cloud SDK:

brew cask install google-cloud-sdk

Firebase: Authentication

DevTube uses Firebase for OAuth authentication. For now, Google, Twitter, and GitHub providers are supported. For development purposes, it's enough to configure GitHub provider.

  1. Create a new GitHub OAuth app. GitHub will ask you to provide Authorization callback URL.
  2. Create a new Firebase account.
  3. Go to Authentication and enable GitHub sign-in. Copy Authorization callback URL.
  4. Go to Github and finalize app creation by providing Authorization callback URL.
  5. Copy Client ID and Client Secret.
  6. Go to Firebase and provide those values.

Firebase: Firestore

DevTube stores your subscriptions, favorites, and watched videos in Firestore.

  1. Open your Firebase account
  2. Ceate a new Firestore database
  3. Provide the following database permissions:
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

Firebase: Connect DevTube

  1. Open your Firebase account
  2. Generate a new private key under Service accounts panel
  3. Store downloaded credentials under devtube-web/express/firebase.json.
  4. Create devtube-web/firebase.config.json file with and populate it with the content:
{
  "projectId": "<firebase projectId>",
  "apiKey": "<firebase apiKey>",
  "authDomain": "<firebase projectId>.firebaseapp.com",
  "databaseURL": "https://<firebase projectId>.firebaseio.com"
}

Datastore: Download data

DevTube data lives in Cloud Datastore. Download and unzip the following test data:

curl --create-dirs -f -o express/data/index-new.json https://storage.googleapis.com/dev-tube-index/index-test-new.json

curl --create-dirs -f -o express/data/data-test-new.zip https://storage.googleapis.com/dev-tube-index/data-test-new.zip

unzip express/data/data-test-new.zip -d "express/data/videos"

Datastore: Run emulator

# run emulator
gcloud beta emulators datastore start --project=dev-tube

# point environment variables to the emulator
$(gcloud beta emulators datastore env-init)

# populate Datastore Emulator
# From ./express directory run:
yarn
yarn run datastore-init

Run backend

You need to run backend first, because frontend relies on it.

# From ./express directory run:
yarn && yarn dev

Run frontend

# from project root directory, run:
yarn && yarn dev

🚀 DevTube front-end is now running on localhost:8080


How to contribute?

Before submitting PR, check the code for violations:

yarn lint

How to contribute content?

You can contribute channels and speakers in watch-devtube/contrib repo.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].