{"id":15798165,"url":"https://github.com/thomascode92/discover-videos","last_synced_at":"2026-02-08T07:32:39.383Z","repository":{"id":219067124,"uuid":"745640850","full_name":"ThomasCode92/discover-videos","owner":"ThomasCode92","description":"Welcome to \"discover-videos\" — your gateway to seamless video exploration. Elevate your content discovery with our curated collection. 🎥📺","archived":false,"fork":false,"pushed_at":"2024-06-12T18:13:06.000Z","size":1772,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-12T00:50:55.094Z","etag":null,"topics":["hasura-graphql","magic-auth","netflix-clone","nextjs","udemy-course-project","youtube-api"],"latest_commit_sha":null,"homepage":"https://discover-videos-ashy.vercel.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThomasCode92.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-19T19:18:00.000Z","updated_at":"2024-06-12T18:13:09.000Z","dependencies_parsed_at":"2024-02-28T23:30:36.912Z","dependency_job_id":"bbccbc9a-eb93-4fd9-be46-52d6ff3f06ea","html_url":"https://github.com/ThomasCode92/discover-videos","commit_stats":{"total_commits":8,"total_committers":2,"mean_commits":4.0,"dds":0.125,"last_synced_commit":"94fd834644bbfb5c8c99038aa1937fd6b96fa01f"},"previous_names":["thomascode92/discover-videos"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasCode92%2Fdiscover-videos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasCode92%2Fdiscover-videos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasCode92%2Fdiscover-videos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasCode92%2Fdiscover-videos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThomasCode92","download_url":"https://codeload.github.com/ThomasCode92/discover-videos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246709909,"owners_count":20821298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hasura-graphql","magic-auth","netflix-clone","nextjs","udemy-course-project","youtube-api"],"created_at":"2024-10-05T00:23:53.525Z","updated_at":"2026-02-08T07:32:34.366Z","avatar_url":"https://github.com/ThomasCode92.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discover Videos - Netflix Clone\n\nWelcome to \"_discover-videos_\" — your gateway to seamless video exploration.\u003cbr /\u003eElevate your content discovery with our curated collection. 🎥📺\n\n**Repository Overview**\u003cbr /\u003eWelcome 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.\n\nThis 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).\n\n## Getting Started\n\nTo begin exploring and contributing to this project, follow these steps:\n\n```bash\ngit clone https://github.com/ThomasCode92/discover-videos\nyarn install # install dependencies\n# add .env.local file, as described below\nyarn dev # start development server\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou 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.\n\n### Environment variables\n\nFor 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:\n\n- [magic.link](https://magic.link/docs/home/welcome), passwordless authentication\n- [YouTube API](https://developers.google.com/youtube/v3/getting-started), video search and viewing.\n- [Hasura](https://hasura.io/), instant real-time GraphQL API engine\n\nFor that, you need to create a `.env.local` file in your project that will look like this:\n\n```bash\nYOUTUBE_API_KEY=\u003cREPLACE THIS\u003e\nNEXT_PUBLIC_MAGIC_PUBLISHABLE_API_KEY=\u003cREPLACE THIS\u003e\nMAGIC_SECRET_KEY=\u003cREPLACE THIS\u003e\nNEXT_PUBLIC_HASURA_GRAPHQL_URL=\u003cREPLACE THIS\u003e\nJWT_SECRET=\u003cRANDOM_STRING\u003e\n```\n\nObtain the necessary environment values by referring to the documentation links provided above. Once retrieved, paste them into the appropriate placeholders.\n\n### Local Development with YouTube API\n\nDuring 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.\u003cbr /\u003eStart the development server with `DEVELOPMENT=true yarn dev`\n\n## Deployed on Vercel\n\nThe application is deployed on the [Vercel Platform](https://vercel.com/new?utm_medium=default-template\u0026filter=next.js\u0026utm_source=create-next-app\u0026utm_campaign=create-next-app-readme). Vercel is a hoisting platform build by the creators of Next.js.\u003cbr /\u003eCheck out the [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomascode92%2Fdiscover-videos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomascode92%2Fdiscover-videos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomascode92%2Fdiscover-videos/lists"}