Git Product home page Git Product logo

sf-assignment-backend's Introduction

Top 10 YouTube Videos (HK) Database

Running this Node.js server will get the Top 10 Youtube videos in Hong Kong on an hourly basis and store the results in MongoDB. Past results can be accessed through a RESTful API.

Getting Started

Install all dependencies

npm install

Run MongoDB

mongod

In the root directory, create a new file called settings.js, and paste your Google API Key in this format:

module.exports = { key: [API-KEY-HERE] };

Start server with index.js as entry point

npm start

Cron Job

A Cron job is configured in server to retrieve the top 10 YouTube videos in Hong Kong on an hourly basis, at :00 of each hour.

Database Structure

The Video schema has the following fields:

  • Time String - identify the time when the record is saved
  • Result - an array of YouTube videos, with information including Video ID, Title, Description, Thumbnail, Viewcount
{
	'timeString': String,
	'result': [{
		videoId: String,
		title: String,
		description: String,
		thumbnail: String,
		viewCount: Number
	}]
}

RESTful API

To access database records, sends a GET request to /youtube with a query in this format

q=yyyymmddhh

For example, running the server locally and retriving the record for 7 December 2016 16:00 should look like this

http://localhost:3000/youtube?q=2016120716

If there is a matching record, it returns in JSON format.

sf-assignment-backend's People

Contributors

eason-yim avatar michael-chow avatar

Watchers

 avatar  avatar

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.