{"id":14957431,"url":"https://github.com/punchagan/artful-dodger","last_synced_at":"2025-10-01T16:31:51.166Z","repository":{"id":59917786,"uuid":"427716375","full_name":"punchagan/artful-dodger","owner":"punchagan","description":"A Next.js site to host an art gallery using Google Spreadsheets and Google Drive as a backend","archived":false,"fork":false,"pushed_at":"2024-07-07T15:23:46.000Z","size":528,"stargazers_count":20,"open_issues_count":0,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-16T02:21:39.100Z","etag":null,"topics":["art-gallery","artgallery","google-drive","google-spreadsheet","next-js","nextjs","static-site"],"latest_commit_sha":null,"homepage":"https://punchagan.github.io/artful-dodger/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/punchagan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-11-13T16:30:14.000Z","updated_at":"2024-11-19T07:51:49.000Z","dependencies_parsed_at":"2024-11-12T16:02:32.910Z","dependency_job_id":"25dfa74f-aebc-4123-a4e1-fd8c90600589","html_url":"https://github.com/punchagan/artful-dodger","commit_stats":{"total_commits":276,"total_committers":1,"mean_commits":276.0,"dds":0.0,"last_synced_commit":"43b031b0f42f9f2fab1be7d6f5ccd93c592e97c6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/punchagan%2Fartful-dodger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/punchagan%2Fartful-dodger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/punchagan%2Fartful-dodger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/punchagan%2Fartful-dodger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/punchagan","download_url":"https://codeload.github.com/punchagan/artful-dodger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234883315,"owners_count":18901365,"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":["art-gallery","artgallery","google-drive","google-spreadsheet","next-js","nextjs","static-site"],"created_at":"2024-09-24T13:14:53.589Z","updated_at":"2025-10-01T16:31:50.817Z","avatar_url":"https://github.com/punchagan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Artful Dodger\n\nA Next.js site to host an art gallery using Google Spreadsheets and Google\nDrive as a backend.\n\n## Setup\n\n### Data Backend\n\nThe project can be powered by using a Google Spreadsheet that is viewable\npublicly. The demo site for this project is powered by the Google Sheet\n[here](https://docs.google.com/spreadsheets/d/134_5I84cpDHYFCfCgr1V7p8ArxeNPlOMcS1-D5E3jxk/). You\ncan setup a similar document and make it \"readable\" by everyone with the link.\n\nThe example document uses images from the web (freely available on\nPexels.com). But, you can use a Google Drive to upload the images. You can then\neither use a CDN like Cloudinary to [automatically serve the\nimages](https://cloudinary.com/documentation/fetch_remote_images#auto_upload_remote_resources)\nfrom Google Drive. Or download the images onto your web server into the\ndirectory from where you are serving the \"built\" site.\n\n### Configuration\n\nTo configure your site, copy the `env.local.default` file to `.env.local` and\nedit it to point to your Google Spreadsheet and your CDN, if you are using one.\n\nYou can either use a free service like opensheet.vercel.app to convert the\nspreadsheet to a JSON end-point, or use the `scripts/download-images` script to\ndownload the metadata as a json file to `public/metadata.json`. You need to\nremove the `METADATA_URL` configuration from the `.env.local` file if you with\nto use the `metadata.json` file from your `public/` directory.\n\nSet `IMAGE_CDN_PREFIX=\"\"` if you are using locally downloaded images on your\nserver. Configure the thumbnails in the metadata document so that your images\ncan be found at the location -- `${IMAGE_CDN_PREFIX}/image/${thumbnail}`. You\ncan use a `../` prefix on your thumbnails, if thumbnails don't live in an\n`image` directory.\n\nALso, remove the `FORCE_CDN` configuration, if you wish to not use CDN when\ndeveloping locally.\n\n### Troubleshooting\n\nWith newer versions of Nodejs (18+?), if you run into the following error:\n\n``` sh\n  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],\n  library: 'digital envelope routines',\n  reason: 'unsupported',\n  code: 'ERR_OSSL_EVP_UNSUPPORTED'\n```\n\nyou can set the `NODE_OPTIONS` env var to allow the legacy openssl provider.\n\n``` sh\nexport NODE_OPTIONS=--openssl-legacy-provider\n```\n\n## Build \u0026 Deploy\n\n`yarn build` builds the site. And `yarn export` would export the site to a\nstatic site.\n\nSee sample deploy scripts in the `scripts/` directory to see how to deploy this\nsite. You can see a demo site [here](https://punchagan.github.io/artful-dodger/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpunchagan%2Fartful-dodger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpunchagan%2Fartful-dodger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpunchagan%2Fartful-dodger/lists"}