Skip to content

AkhilJSON/watchyaari

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WatchYaari - Watch videos together with your friends

Platform where users can watch youtube videos while on a video chat. Basically a digital party where users can enjoy watching videos together. Separated by distance, brought together by WatchYaari.

Screenshot 2022-08-24 at 9 53 28 PM

Screenshot 2022-08-24 at 10 00 39 PM

Screenshot 2022-08-24 at 10 01 06 PM

Screenshot 2022-08-24 at 10 00 23 PM

Screenshot 2022-08-24 at 10 00 51 PM

Screenshot 2022-08-24 at 9 52 19 PM

Screenshot 2022-08-24 at 10 01 28 PM

Screenshot 2022-08-28 at 9 22 02 AM

Overview video (Optional)

Here's a short video that explains the project and how it uses Redis:

Embed your YouTube video

How it works

How the data is stored:

Used RedisJSON for saving JSON data in Redis with the help of redis-om nodejs library.

Screenshot 2022-08-28 at 4 18 35 PM

Screenshot 2022-08-28 at 4 20 22 PM

How the data is accessed:

Used RedisSearch to query data stored in Redis with the help of redis-om nodejs library.

Screenshot 2022-08-28 at 4 27 31 PM

Screenshot 2022-08-28 at 4 24 48 PM

Keys changes while moving from MongoDB to Redis as primary database

  • Changed MongoDB ObjectId dependecies to RedisJSON entityId

  • Changed Mongoose models to RedisJSON schema

    Mongoose Model Screenshot 2022-08-27 at 10 33 17 PM

    RedisJSON Schema Screenshot 2022-08-27 at 10 32 48 PM

  • Changed queries

    Mongoose aggregate query
    Screenshot 2022-08-27 at 10 39 26 PM

    RedisSearch query
    Screenshot 2022-08-27 at 10 40 16 PM

Architecture diagram

WatchYaariBeforeAfterRedisHacathon drawio

How to run it locally?

Prerequisites

  • Node - v14.16.0

  • Angular: 9.1.9

  • Angular CLI: 9.1.4

  • NPM - v8.3.0

  • Redisstack server

  • Not in scope

    • Coturn server - Free open source implementation of TURN and STUN server in case if peer-to-peer connection between clients is not established.

Local installation

  • Navigate inside /client & run npm i to install dependencies.
  • Run ng serve inside /client to run the Client App.
  • Check if Client app is up & running by accessing http://localhost:4200, You should be able to see app home page.
  • Install nodemon globally for running nodejs server - npm i -g nodemon.
  • Navigate inside /server & run npm i to install dependencies.
  • Run nodemon inside /server to run the Express.js server.
  • Check if Server app is up & running by accessing http://localhost:3000, You should see All set!. response.
  • Run the [GET] http://localhost:3000/common/restoreData API from browser/curl/postman to restore necessary data into RedisJSON.

More Information about Redis Stack

Here some resources to help you quickly get started using Redis Stack. If you still have questions, feel free to ask them in the Redis Discord or on Twitter.

Getting Started

  1. Sign up for a free Redis Cloud account using this link and use the Redis Stack database in the cloud.
  2. Based on the language/framework you want to use, you will find the following client libraries:

The above videos and guides should be enough to get you started in your desired language/framework. From there you can expand and develop your app. Use the resources below to help guide you further:

  1. Developer Hub - The main developer page for Redis, where you can find information on building using Redis with sample projects, guides, and tutorials.
  2. Redis Stack getting started page - Lists all the Redis Stack features. From there you can find relevant docs and tutorials for all the capabilities of Redis Stack.
  3. Redis Rediscover - Provides use-cases for Redis as well as real-world examples and educational material
  4. RedisInsight - Desktop GUI tool - Use this to connect to Redis to visually see the data. It also has a CLI inside it that lets you send Redis CLI commands. It also has a profiler so you can see commands that are run on your Redis instance in real-time
  5. Youtube Videos

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published