Giter Club home page Giter Club logo

fam-yt's Introduction

Fam Yt

Caches yt results for predefined search queries for faster access.

Live Demo

  • Dashboard: Dashboard (hosted on vercel)
  • Backend: Backend (hosted on aws, uses nginx as reverse proxy)

More Info

This project has three components.

  1. Server: A http server that serves cached results for certain pre-defined search queries.
  2. Fetcher: A background process that fetches the results for the pre-defined search queries and stores them in the database.
  3. Web: A dashboard to view the cached results and the search queries. You can also add new search queries from the dashboard.

Stuff Implemented

  • Poller and Fetcher (Used worker pool for fetching results)
  • Server for serving cached results (With Pagination & Sorting)
  • Api key rotation when quota exceeds
  • Dashboard UI

Tech Stack

  • Golang (Echo Framework)
  • MongoDB
  • React
  • Tailwind CSS

Quickstart

Have the env variables ready, you can use the env.example file as a template.

make server
make fetcher
make web

API Documentation

GET /api/videos

  • Query Params:
    • query: search query
    • limit (optional): default 10
    • pageno (optional): default 1
    • order (optional): default "desc" //order by published date
  • Returns:
    • Array of videos

GET /api/queries

  • Returns:
    • Array of queries

POST /api/queries

  • Body:
    • query: search query
  • Returns:
    • Success/Error message

GET /api/info

  • Returns:
    • pollInterval - interval for fetching results
    • maxResults - fetched by fetcher

Screenshots

image image

Architecture

arch

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.