Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thomascode92/discover-videos
Welcome to "discover-videos" — your gateway to seamless video exploration. Elevate your content discovery with our curated collection. 🎥📺
https://github.com/thomascode92/discover-videos
hasura-graphql magic-auth netflix-clone nextjs udemy-course-project youtube-api
Last synced: about 1 month ago
JSON representation
Welcome to "discover-videos" — your gateway to seamless video exploration. Elevate your content discovery with our curated collection. 🎥📺
- Host: GitHub
- URL: https://github.com/thomascode92/discover-videos
- Owner: ThomasCode92
- Created: 2024-01-19T19:18:00.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-06-12T18:13:06.000Z (6 months ago)
- Last Synced: 2024-10-12T00:50:55.094Z (2 months ago)
- Topics: hasura-graphql, magic-auth, netflix-clone, nextjs, udemy-course-project, youtube-api
- Language: JavaScript
- Homepage: https://discover-videos-ashy.vercel.app/
- Size: 1.69 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Discover Videos - Netflix Clone
Welcome to "_discover-videos_" — your gateway to seamless video exploration.
Elevate your content discovery with our curated collection. 🎥📺**Repository Overview**
Welcome to the repository for 'Discover Videos', a project featured in the [Complete Next.js Developer](https://www.udemy.com/course/complete-nextjs-developer-zero-to-mastery/) course by [Zero To Mastery](https://zerotomastery.io/). This repository serves as a comprehensive demonstration, showcasing both fundamental and advanced concepts in Next.js development. Explore the intricacies of Authentication, Incremental Static Regeneration (ISR), and GraphQL integration, alongside core features like Routing, Static Site Generation (SSG), and Serverless Functions. Dive into the depth of Next.js capabilities with this illustrative (Netflix clone) application.This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
## Getting Started
To begin exploring and contributing to this project, follow these steps:
```bash
git clone https://github.com/ThomasCode92/discover-videos
yarn install # install dependencies
# add .env.local file, as described below
yarn dev # start development server
```Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
### Environment variables
For this project to function properly, it's essential to set up a couple of API keys. Without them, the videos won't display correctly. The needed keys are for:
- [magic.link](https://magic.link/docs/home/welcome), passwordless authentication
- [YouTube API](https://developers.google.com/youtube/v3/getting-started), video search and viewing.
- [Hasura](https://hasura.io/), instant real-time GraphQL API engineFor that, you need to create a `.env.local` file in your project that will look like this:
```bash
YOUTUBE_API_KEY=
NEXT_PUBLIC_MAGIC_PUBLISHABLE_API_KEY=
MAGIC_SECRET_KEY=
NEXT_PUBLIC_HASURA_GRAPHQL_URL=
JWT_SECRET=
```Obtain the necessary environment values by referring to the documentation links provided above. Once retrieved, paste them into the appropriate placeholders.
### Local Development with YouTube API
During local development, it's advisable to include the environment variable DEVELOPMENT=true. This setting prevents fetching videos from the YouTube API and instead accesses them from `data/videos.json`. This approach helps avoid reaching the YouTube API quota during development, allowing you to continue your work without concerns about exhausting API calls.
Start the development server with `DEVELOPMENT=true yarn dev`## Deployed on Vercel
The application is deployed on the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme). Vercel is a hoisting platform build by the creators of Next.js.
Check out the [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.