{"id":23379511,"url":"https://github.com/cloudinary-devs/video-review-demo","last_synced_at":"2025-04-08T06:38:54.897Z","repository":{"id":268905827,"uuid":"905819579","full_name":"cloudinary-devs/video-review-demo","owner":"cloudinary-devs","description":"A demo app for handling user-generated videos in a product review context.","archived":false,"fork":false,"pushed_at":"2025-04-02T15:55:43.000Z","size":207,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T16:48:29.563Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/cloudinary-devs.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-12-19T15:29:32.000Z","updated_at":"2025-04-02T15:55:47.000Z","dependencies_parsed_at":"2025-04-02T16:31:44.964Z","dependency_job_id":"4c3961a9-0d10-4027-8b20-1bdf4cb2c805","html_url":"https://github.com/cloudinary-devs/video-review-demo","commit_stats":null,"previous_names":["cloudinary-devs/video-review-demo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudinary-devs%2Fvideo-review-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudinary-devs%2Fvideo-review-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudinary-devs%2Fvideo-review-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudinary-devs%2Fvideo-review-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudinary-devs","download_url":"https://codeload.github.com/cloudinary-devs/video-review-demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247792899,"owners_count":20996893,"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":[],"created_at":"2024-12-21T19:19:11.280Z","updated_at":"2025-04-08T06:38:54.891Z","avatar_url":"https://github.com/cloudinary-devs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UGC Sample App for Video Reviews\n\nThis is a mockup of a product page that handles user-generated content (UGC) using Cloudinary's advanced capabilities. People can upload a video review of the product, which is moderated for inappropriate content and malware, as well as being processed for video chapters and transcription for captions and translated subtitles.  The video is displayed at 16:9 aspect ratio with automatic gravity and captions displayed. \n\nIt's a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app), built on Next.js 14 and the Next.js App Router.\n\n## Overview\n\nThe app serves as a demonstration platform for handling user-generated content in a product review context. \n\n## Run the app\n\nTo run the app yourself:\n\n1. Clone or fork this GitHub repo.\n1. In **app/config/cloudinary.ts**, replace **MY_CLOUD_NAME** with your Cloudinary product environment cloud name. You can find your **Cloud name** near the top of the [Dashboard](https://console.cloudinary.com/pm/developer-dashboard) of the Cloudinary Console. [Sign up for free](https://cloudinary.com/users/register_free) if you don't yet have a Cloudinary account.\n1. Register for the following add-ons (they all have free tiers):\n     * [Google Translation add-on](https://cloudinary.com/documentation/translation_addons)\n     * [Amazon Rekognition Video Moderation add-on](https://cloudinary.com/documentation/aws_rekognition_video_moderation_addon)\n     * [Perception Point Malware Detection add-on](https://cloudinary.com/documentation/perception_point_malware_detection_addon)\n1. To try out your app locally, you need to set up a secure tunnel connecting the internet to your locally-running application so that the webhooks sent by Cloudinary on upload are caught and handled by the app. You can use a tool such as [Ngrok](https://ngrok.com/) to do this. Otherwise, you need to deploy the app using a service such as [Vercel](https://vercel.com/). Whichever method you choose, make a note of your app's domain (for example, `a-b-c-d.ngrok-free.app` or `a-b-c-d.vercel.app`). By default, the app runs on port 3000.\n1. Create an upload preset called **ugc-video-langs**. (You can use a different name, but if you do, you also need update the `uploadPreset` value in **cloudinary.ts**.) See instructions on how to [configure your upload preset](https://cloudinary.com/documentation/video_review_sample_project#upload_preset_configuration).\n1. Ensure that the **Notification URL** in your upload preset is set to:\u003cbr\u003e`https://\u003cyour app's domain\u003e/api/moderate`\n1. If running locally, run the development server:\n   \n      ```terminal\n      npm i\n      ```\n      then\n\n      ```terminal\n      npm run dev\n      ```\n \n    Then open [http://localhost:3000](http://localhost:3000) in your browser to see the app running.     \n\n\n## Learn More\n\nLearn more about this app: [Cloudinary docs](https://cloudinary.com/documentation/video_review_sample_project).\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n\n## Deploy on Vercel\n\nThe easiest way to deploy your Next.js app is to use 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) from the creators of Next.js.\n\nCheck out the [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudinary-devs%2Fvideo-review-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudinary-devs%2Fvideo-review-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudinary-devs%2Fvideo-review-demo/lists"}