Skip to content

A concept that visualizes personal youtube profile data using React and Node.js built around googleapis; OAuth2 and youtube data api v3.

License

Notifications You must be signed in to change notification settings

almoratalla/ForYou

Repository files navigation

A concept that visualizes personal youtube profile data using React and Node.js built around googleapis; OAuth2 and youtube data api v3.

ForYou Logo

Table of Contents

Overview

Greetings Everyone! This project is made for the purpose of using the current Youtube data API and extending its powerful functionalities.

Features

  • Youtube Profile Data
  • Youtube feed video suggestions using puppeteer
  • Light/dark mode toggle
  • Device Responsiveness

Demo

Desktop:
Desktop Demo

Mobile:
Mobile Demo

Screenshots

See screens section.

Tech Stack

Client: React, Redux

Server: Node, Express

Built With

  • Youtube Data API V3, Google APIs OAuth2
  • Typescript
  • React, Redux, React Router V6, SCSS Modules
  • Node.js, Express
  • Puppeteer
  • Webpack

Environment Variables

To run this project, you will need to add the following environment variables to your .env file Get client credentials from project API credentials.

NODE_ENV = production

CLIENT_ID = XXXXX

CLIENT_SECRET = XXXXX

REDIRECT_URI = host-server:5000/auth/callback

Run Locally and Setup

  1. Clone the project
  git clone git@github.com:almoratalla/foryou.git
  1. Go to the project directory
  cd foryou
  1. Install dependencies
  npm install
  1. Register a project in google cloud console and enable the Youtube Data API. Proceed in creating authorization credentials. See Youtube Data API Authentication guide

  2. Create an .env file in the root of the project using the format from .env.sample. Set up environment variables.

  3. Start the server without build files (initial setup)

  npm run stage

or start the server with build files

  npm run start

Roadmap

  • Add more features for videos, playlists and explore

Author

Acknowledgements

This project is heavily inspired by the project Spotify Profile by Britanny Chiang and the code structure of the app TakeNote. I would like to give huge appreciation to the aforementioned projects. This project also received major help from one of my colleagues, Larz Pal-ing, who consulted on styling and responsiveness. Also, ForYou is a project dependent and integrates with the Youtube data API V3. This app would no longer be useful if not for the availability of the Youtube data API that allows developers to incorporate Youtube functionalities to their app. Lastly, all these would not be made if not for the following resources:

Useful Resources

License

ForYou is MIT licensed

About

A concept that visualizes personal youtube profile data using React and Node.js built around googleapis; OAuth2 and youtube data api v3.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •