GitXplorerGitXplorer
a

FamAPI

public
2 stars
0 forks
1 issues

Commits

List of commits on branch main.
Unverified
def2531015e19568d01ad32d84658f6e65d8902f

ENH: Add Button component

aaitikgupta committed 4 years ago
Unverified
285f887cac738cd36074d58c2733324c4960d886

ENH: Add VideoCard component

aaitikgupta committed 4 years ago
Unverified
84a6d9a2ae96c141d73dd354e48eb5475eda6a60

ENH: Implement fetching service

aaitikgupta committed 4 years ago
Unverified
6e1bc99cd82d5c444c0fd5232508e89bf9668357

ENH: Add /fetch endpoint

aaitikgupta committed 4 years ago
Unverified
f14ad1d2bc84a241a709288b12c9615040806c57

BUG: Fix skip_count in pagination

aaitikgupta committed 4 years ago
Unverified
9c85d76a0b3e2b50ff0bdb6674d5f579b4f0c959

ENH: Add fetching service

aaitikgupta committed 4 years ago

README

The README file for this repository.

FamAPI

This application is a demonstration of following APIs:

  • Calls YouTube APIs continuously in background with some intervals
  • Fetches latest videos and stores specific fields with indexing in database (MongoDB)
  • A GET API which returns the stored video data in a paginated response sorted in descending order of published datetime
  • A basic search API to search the stored videos using their title and description

Hosts FamEnd (client) at localhost:8080 and PayEnd (server) at localhost:3000.


Steps to run

The very first step would be to create a .env file in PayEnd directory (or set an environment variable):

GOOGLE_API_KEYS=api,keys,separated,by,comma

NOTE: To get the keys, follow YouTube's specifications.

The whole project is dockerized (by composing dockerized versions of client and server individually), to set everything up:

docker-compose build && docker-compose up

That's it! Or, if you prefer a non-dockerized solution:

  1. < in PayEnd directory >
    pip install -r requirements.txt
    python server.py
  2. < in FamEnd directory >
    npm install
    npm start

How to test

The client (FamEnd) hosts a Search functionality with pagination. Here's some screenshots:

Search box

image

Video Card

(blurred due to copyrights) image

Sample Logs from PayEnd

(cropped because of the API key) image

About

Aitik Gupta - aitikgupta.com/