DEV Community

Cover image for WeTube Server 🌐 - YT Clone with Redis
Rinshin Jalal
Rinshin Jalal

Posted on

WeTube Server 🌐 - YT Clone with Redis

Overview of My Submission

WeTube Server - The backend of WeTube, an OpenSource YouTube clone,

I've had this project in my plans for about a year now.I have no idea why?
possibly because I watch YouTube a lot!

There are several tutorials on YouTube for that as well, but I chose to make it myself.

I received an email regarding the Dev x Redis hackathon when I started the project two days ago.
And I decided to build it with Express and Redis.
And here are the outcomes.

Actually, I had planned to create the front end as well, but I was unable to do so in two days.

So I'm submitting the Backend.

Accessible Routes
Accessible Routes

Here is a screen photo of the Frontend (Home Page), which I was unable to complete.
Sample image of Frontend(Home Page), I could not finish

live demo (server) - https://wetube-server-production.up.railway.app


Submission Category: Wacky Wildcards

Language Used: JavaScript

Link to Code

WeTube Server 🌐

logo

WeTube Server - The backend of WeTube, an OpenSource YouTube clone.

This project has been in my plansπŸ—‚οΈ for about a year.

At the same time I started this two days ago, I received an email about the hackathon, and

I attempted to build it using redis and express

Accessible Routes πŸ‘‡β€

Accessible Routes

Screenshot of Frontend (not completed) πŸ‘‡β€ image


live demo (server) - https://wetube-server-production.up.railway.app

How it works

How the data is stored:

For the development, I used the Redis-OM node There are 4 different schemas: the User, Token, Video, and Comment Schemas.

1. User schema :

  • entityID: string
  • email: string
  • username: string
  • password: number
  • profile: string
  • followers: string[]
  • isVerified: boolean
  • videos: string[]

The entityId and username are indexed here, allowing us to find users by entityId and username.

2. Token schema :

  • entityId: string
  • user: string
  • token: string
  • passwordReset: boolean

This was used to store the…

Additional Resources / Info


Top comments (0)