Git Product home page Git Product logo

videowiki's Introduction

README

Website

https://www.videowiki.org/

What is this repository for?

Have you ever wondered why there isn’t a video version of Wikipedia already? It’s 2018, streaming images and videos isn’t a big deal but Wikipedia is still predominantly a text-based encyclopedia.

Okay, times up

The reason for this is because videos once uploaded on the internet, cannot be edited again and Wikipedia relies on being continuously edited and updated.(Image uploading a video on YouTube, can you edit the video once you upload it? No, right?) The second major reason is that video-production is time-consuming and 💰.

VideoWiki cracks these technical challenges and proves that building a collaborative multi-media encyclopedia is possible.Anyone, including you, can edit (add images / gifs / videos) to any VideoWiki article, even without logging in.

At VideoWiki, we are a group of individuals who want to evolve Wikipedia from a text-based encyclopedia to a multi-media encyclopedia. The future of Knowledge cannot be confined to text only. We, human beings perceive information visually and the sum of all human knowledge should also have a visual medium.

If you want to contribute to VideoWiki's development, jump right in :)

How do I get set up?

clone the repo

$ git clone $ cd videowiki

Install npm dependencies

$ npm install

Additional Settings

Videowiki depends on 3rd party services

  • Redis ( make sure that redis is installed on your machine )
  • AWS Polly ( to convert text to audios )
  • AWS S3 ( for storing generated audios and article's images )
  • Mailgun
  • Google Captcha
  • Slack

Environment variables

- App configurations

  • ENV your app mode that you wish to run in ( development / production )
  • APP_SECRET your app secret for express sessions
  • DB_CONNECTION_URL connection string for your mongo database

- AWS Configurations

  • AWS_IMAGES_BUCKET_NAME The name of the bucket used to store images
  • AWS_IMAGES_USER The username of the user having access to the bucket
  • AWS_IMAGES_BUCKET_ACCESS_KEY Access Key
  • AWS_IMAGES_BUCKET_ACCESS_SECRET Secret Key
  • AWS_AUDIOS_BUCKET_ACCESS_KEY The Access key for bucket used to store generated audios
  • AWS_AUDIOS_BUCKET_ACCESS_SECRET Secret Key

- Mailgun

  • MAILGUN_API_KEY Mailgun api key
  • MAILGUN_DOMAIN Registered Mailgun domain

- Google

  • CAPTCHA_SECRET_KEY Google's Captcha secret key
  • GMAIL_USER a gmail username account used for mailing ([email protected])
  • GMAIL_PASSWORD the password for the gmail account (mysecretpassword)

- Slack

  • SLACK_TOKEN Slack token

Running develpment server frontend

Run

npm run dev:client

to start development server for React frontend

Running development server api

Run

npm run dev:server

to run development server for the API

Licenses

VideoWiki is open-sourced and licensed under GNU General Public License v3.0

Authors

Shout out to Hassan Amin and Ankur Agarwal who are the original contributors of VideoWiki. VideoWiki would not have existed without the work of these 2 talented developers.

Contribution guidelines

  • Fork the videowiki repo.

  • Make your changes in a new git branch:

git checkout -b my-fix-branch master

  • Commit your changes using a descriptive commit message

  • Push your branch to GitHub:

git push origin my-fix-branch

  • In GitHub, send a pull request to videowiki:master

That's it! Thank you for your contribution!

Who do I talk to?

videowiki's People

Contributors

ankur-agarwal avatar expertadmins avatar hassan94924 avatar hassanamin994 avatar osama-hamed avatar videowikips avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

videowiki's Issues

Setup for making contributions

I came across this project and was hoping to make some minor contributions to it but according to the documentation, I am supposed to set up developer accounts on various sites such as slack, aws, mailgun etc.

Can we have a common developer account at least for the staging environment?

Moreover, I tried running npm run dev and got the following error. I haven't setup any of the 3rd party accounts so this error could possibly be because of that.

screen shot 2018-07-21 at 8 24 48 pm

Aspect ratio of images is not preserved

The aspect ratio of images that are used in a VideoWiki depend on the width of the viewport, and can be severely distorted.

Images within a video should maintain their original aspect ratio.

narrow
wide

Option to show only current image

From what I can tell, VideoWiki automatically takes a series of media files from a wiki page (like https://en.wikipedia.org/wiki/Wikipedia:VideoWiki/Dengue_fever_overview ), and turns that series of images/videos into a montage with transition effects and some Ken Burns-style panning around static images.

This mostly works fine for Wikipedia articles where the images are illustrations that accompany the text, but are more serving the purpose of general illustration (which is often the case). But in that Dengue fever example, each image is carefully chosen to correspond to each section of text, often illustrating exactly what the text is describing. In those cases, it would be better to just show the single current image so that the viewer can focus on it.

Baked-in references to images

Are baked-in references to images necessary? Since as per COM:WATERMARK and COM:ENFORCE, visible watermarks are discouraged, and attribution/licensing information is instead supposed to be contained within metadata/file description page.

Option to embed video on another site

I'm trying VideoWiki for the first time, and it's very cool! One thing I'm interested in with such videos is to create continually-updated tutorial videos (eg, for how to do specific things on Wikipedia, as part of the training for Wiki Education program participants). Our training modules currently use embedded videos from YouTube, like here: https://dashboard.wikiedu.org/training/students/sandboxes-talk-watchlists/video-watchlists-v2

A really useful feature would be to provide code snippets for the same type of embedding for VideoWiki vids.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.