{"id":23379514,"url":"https://github.com/cloudinary-devs/nextjs-pa","last_synced_at":"2025-10-14T17:12:01.908Z","repository":{"id":262182678,"uuid":"886460938","full_name":"cloudinary-devs/nextjs-pa","owner":"cloudinary-devs","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-09T03:35:52.000Z","size":209,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-20T17:04:09.102Z","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,"zenodo":null}},"created_at":"2024-11-11T02:33:32.000Z","updated_at":"2025-03-21T00:29:03.000Z","dependencies_parsed_at":"2024-11-11T03:27:43.259Z","dependency_job_id":"a08bf6a9-7545-4593-b91c-e581c7fb039a","html_url":"https://github.com/cloudinary-devs/nextjs-pa","commit_stats":null,"previous_names":["tpiros/nextjs-pa"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cloudinary-devs/nextjs-pa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudinary-devs%2Fnextjs-pa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudinary-devs%2Fnextjs-pa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudinary-devs%2Fnextjs-pa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudinary-devs%2Fnextjs-pa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudinary-devs","download_url":"https://codeload.github.com/cloudinary-devs/nextjs-pa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudinary-devs%2Fnextjs-pa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279020087,"owners_count":26086805,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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.365Z","updated_at":"2025-10-14T17:12:01.878Z","avatar_url":"https://github.com/cloudinary-devs.png","language":"TypeScript","readme":"# Introduction\n\nThis project demonstrates how to use the [Cloudinary Next.js SDK](https://next.cloudinary.dev) (via the `app` router) to create a photo album app.\n\nThe sample project showcases the following functionality:\n\n- Using the [Upload Widget](https://cloudinary.com/documentation/upload_widget) to upload images to your product environment via the Next.js SDK.\n- Using the [Node.js Upload](https://cloudinary.com/documentation/node_image_and_video_upload) to upload images to your product environment via Next.js Server Actions\n- [Transforming](https://cloudinary.com/documentation/image_transformations) and displaying images\n\n# Setup\n\n[Create an unsigned upload preset](https://cloudinary.com/documentation/upload_presets#creating_and_managing_upload_presets) in your Cloudinary product environment and make a note of the name of the unsigned upload preset as well as your Cloudinary cloud name. Please make sure that when creating the upload preset, you specify the a tag `myphotoalbum-nextjs` so that all assets uploaded via the Upload Widget will also be shown in the gallery.\n\nCreate a `.env` file with the following content at the root of the project:\n\n```\nNEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=\"YOUR-CLOUDINARY-ACCOUNT-NAME\"\nCLOUDINARY_API_KEY=\"YOUR-CLOUDINARY-API-KEY\"\nCLOUDINARY_API_SECRET=\"YOUR-CLOUDINARY-API-SECRET\"\nCLOUDINARY_TAG=\"myphotoalbum-nextjs\"\nNEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=\"YOUR-CLOUDINARY-UPLOAD-PRESET-NAME\"\n```\n\n# Run\n\nFrom your terminal, in the root folder of your project, run:\n\n- `npm i`\n- `npm run dev`\n\nThen, click the localhost link to open the app in your browser, or open a browser and navigate to localhost:3000 or to the port displayed in the terminal.\n\nTry uploading images using each of the upload tabs, then see your images displayed in the Photo Album tab.\n\n# Explore\n\n- Take a look at the source code to understand how it works.\n- Discover more features in the [Cloudinary Docs](https://cloudinary.com/documentation).\n- Ask for help in our [Community Forum](https://community.cloudinary.com/), in [Discord](https://discord.gg/Cloudinary), or [raise a support request](https://support.cloudinary.com/hc/en-us/requests/new).\n\nFeel free to fork this repo as a starting point for your own Next.js app, contribute to it, or star it if you like it!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudinary-devs%2Fnextjs-pa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudinary-devs%2Fnextjs-pa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudinary-devs%2Fnextjs-pa/lists"}