{"id":16763403,"url":"https://github.com/mkubdev/jamstack-hackathon-starter","last_synced_at":"2025-03-16T10:28:05.039Z","repository":{"id":44004374,"uuid":"220679211","full_name":"mkubdev/jamstack-hackathon-starter","owner":"mkubdev","description":"Make Authenticated, Serverless, Dynamic Clientside JAMstack apps with Gatsby + Netlify Dev (Functions + Identity)!","archived":false,"fork":false,"pushed_at":"2022-12-07T02:54:05.000Z","size":10788,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-22T22:31:44.109Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mkubdev.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}},"created_at":"2019-11-09T17:37:15.000Z","updated_at":"2021-01-06T16:16:10.000Z","dependencies_parsed_at":"2023-01-24T13:15:41.870Z","dependency_job_id":null,"html_url":"https://github.com/mkubdev/jamstack-hackathon-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkubdev%2Fjamstack-hackathon-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkubdev%2Fjamstack-hackathon-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkubdev%2Fjamstack-hackathon-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkubdev%2Fjamstack-hackathon-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkubdev","download_url":"https://codeload.github.com/mkubdev/jamstack-hackathon-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243856490,"owners_count":20359010,"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-10-13T05:06:28.170Z","updated_at":"2025-03-16T10:28:05.005Z","avatar_url":"https://github.com/mkubdev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Make Authenticated, Serverless, Dynamic Clientside JAMstack apps with Gatsby + Netlify Dev (Functions + Identity)!\n\n\u003cmarquee\u003e\n  \u003ca href=\"https://app.netlify.com/sites/jamstack-hackathon-starter/deploys?utm_source=github\u0026utm_medium=swyx-hackathon-starter\u0026utm_campaign=devex\"\u003e\n\u003cimg alt=\"Netlify Status\" src=\"https://api.netlify.com/api/v1/badges/7be76523-4643-4ce9-a6fd-a103463b62f3/deploy-status?utm_source=github\u0026utm_medium=swyx-hackathon-starter\u0026utm_campaign=devex\" /\u003e\n  \u003c/a\u003e\n\u003c/marquee\u003e\n\nThis is a fork of https://github.com/gatsbyjs/gatsby-starter-default which shows how to use Netlify Identity and Netlify Functions (via [Netlify Dev](https://www.netlify.com/products/dev/?utm_source=github\u0026utm_medium=swyx-hackathon-starter\u0026utm_campaign=devex)) with Gatsby. Start here for your next JAMstack hackathon or use this as a reference implementation.\n\nFeatures:\n\n- 🚋Serverless Functions\n- 🔏Authentication (with Netlify Identity)\n- 🔐Authenticated Serverless Functions\n- 😻External Provider login with GitHub, Bitbucket, Google, etc.\n- 🏠Protected Routes\n- 👋🏼Dynamic Clientside Pages in Gatsby (enabling all the above)\n- 🕵🏼‍♂️Hide API Secrets from being exposed to Frontend\n\n## 3 minute video walkthrough of this starter\n\n[![walkthru](https://img.youtube.com/vi/bueXJInQt2c/1.jpg)](https://www.youtube.com/watch?v=bueXJInQt2c)\n\n\n## Make this yourself\n\nYou may not need this starter repo! Learn how to add Netlify Identity and Functions to your own existing Gatsby project. \n\n\n- [May 2019 livestream](https://www.youtube.com/watch?v=vrSoLMmQ46k\u0026feature=youtu.be) Note: this doesn't include Netlify Dev.\n- Check our post on the Gatsby blog: [Turning the Static Dynamic: Gatsby + Netlify Functions + Netlify Identity](https://www.gatsbyjs.org/blog/2018-12-17-turning-the-static-dynamic/)\n- [FreeCodeCamp Guide: How to Build Authenticated Serverless JAMstack Apps with Gatsby and Netlify](https://www.freecodecamp.org/news/building-jamstack-apps/)\n\n## How to start\n\nYou can clone and deploy this sample project with one click:\n[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/sw-yx/jamstack-hackathon-starter\u0026stack=cms\u0026utm_source=github\u0026utm_medium=swyx-hackathon-starter\u0026utm_campaign=devex)\n\nBasically these are the extra dependencies it adds:\n\n- [`netlify-lambda`](https://github.com/netlify/netlify-lambda): For installing dependencies of Netlify Functions when deploying\n- [`react-netlify-identity-widget`](https://github.com/sw-yx/react-netlify-identity-widget): For adding Netlify Identity authentication easily on any React site\n\nFor local development, first make sure you have Netlify CLI:\n\n```bash\nnpm i -g netlify-cli\n\n## if you are totally new, you will probably need to log in, e.g.\nnetlify login\n```\n\nAnd then you can run this project with:\n\n```bash\nnetlify dev # or ntl dev\n```\n\nThis starts up both the Gatsby server (at port 8000) and a functions server (at a randomly selected port) and proxies them for you to a new port (usually port 8888). So make sure you go to `http://localhost:8888` to have the project work\n\nYou can read the [Netlify Dev docs](https://www.netlify.com/docs/cli/?utm_source=github\u0026utm_medium=swyx-jamstack\u0026utm_campaign=devex#netlify-dev-beta) for more info.\n\n## Enabling Netlify Identity\n\nIf you are not using the [**Deploy to Netlify**](https://app.netlify.com/start/deploy?repository=https://github.com/sw-yx/jamstack-hackathon-starter\u0026stack=cms\u0026utm_source=github\u0026utm_medium=swyx-hackathon-starter\u0026utm_campaign=devex) button (which has the `\u0026stack=cms` query param at the end that automatically sets Netlify Identity up for you), you will have to enable Netlify Identity manually yourself. Just head to `https://app.netlify.com/sites/YOUR_SITE_HERE/identity` and enable it, so that your `netlify-identity-widget` works.\n\n## Further Documentation in nested READMEs\n\n- please see the [src README](/src/README.md) for explanation on the layout\n- please see the [app README](/src/app/README.md) for explanation on the app\n\n## Other Resources\n\nOther useful resources/reference projects that may help you:\n\n- https://github.com/netlify/create-react-app-lambda\n- https://github.com/sw-yx/react-netlify-identity-widget\n\nPlease contact [@swyx](https://twitter.com/swyx) if you need more help with Netlify.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkubdev%2Fjamstack-hackathon-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkubdev%2Fjamstack-hackathon-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkubdev%2Fjamstack-hackathon-starter/lists"}