{"id":13423708,"url":"https://github.com/pbteja1998/nextjs-starter","last_synced_at":"2025-04-06T11:09:24.209Z","repository":{"id":50304085,"uuid":"294606600","full_name":"pbteja1998/nextjs-starter","owner":"pbteja1998","description":"A starter project for next js with authentication - Contains React 17 + Typescript + Tailwind CSS 2 + React Query 3 + GitHub Auth + LinkedIn Auth + Password-less Auth + Fauna DB + ESLint + Prettier + Husky","archived":false,"fork":false,"pushed_at":"2021-09-01T06:10:36.000Z","size":4910,"stargazers_count":451,"open_issues_count":2,"forks_count":46,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-30T10:07:01.225Z","etag":null,"topics":["authentication","fauna","faunadb","github-auth","github-authentication","linkedin-authentication","next-auth","nextjs","nextjs-boilerplate","nextjs-starter","passwordless","passwordless-authentication","passwordless-login","react-query","react-query-devtools","tailwind","tailwindcss","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://next-starter.bhanuteja.dev","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/pbteja1998.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":"2020-09-11T05:53:05.000Z","updated_at":"2025-01-06T05:01:51.000Z","dependencies_parsed_at":"2022-08-04T08:30:25.643Z","dependency_job_id":null,"html_url":"https://github.com/pbteja1998/nextjs-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbteja1998%2Fnextjs-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbteja1998%2Fnextjs-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbteja1998%2Fnextjs-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbteja1998%2Fnextjs-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pbteja1998","download_url":"https://codeload.github.com/pbteja1998/nextjs-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247471521,"owners_count":20944158,"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":["authentication","fauna","faunadb","github-auth","github-authentication","linkedin-authentication","next-auth","nextjs","nextjs-boilerplate","nextjs-starter","passwordless","passwordless-authentication","passwordless-login","react-query","react-query-devtools","tailwind","tailwindcss","typescript","vercel"],"created_at":"2024-07-31T00:00:40.999Z","updated_at":"2025-04-06T11:09:24.166Z","avatar_url":"https://github.com/pbteja1998.png","language":"JavaScript","funding_links":[],"categories":["Boilerplates","JavaScript","Nextjs Starter","📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"readme":"# nextjs-starter\n\nA Next.js starter kit template with React 17 + Typescript + Tailwind CSS 2 + React Query 3 + NextAuth.js (with GitHub Auth + Passwordless Auth) + Fauna DB\n\n[![MIT License](https://img.shields.io/apm/l/atomic-design-ui.svg?)](https://github.com/tterb/atomic-design-ui/blob/master/LICENSEs)\n\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n\n## Demo\n\n- [Website](https://next-starter.bhanuteja.dev)\n- [Blog Post](https://blog.bhanuteja.dev/nextjs-starter-with-authentication-react-17-typescript-tailwind-css-2-eslint?guid=36ac22f4-9641-432a-8837-5ac2f435667a\u0026deviceId=c9650ad1-b0e8-451d-90f0-0df5bab42027)(old)\n  - Will be replaced with new blog post soon.\n\n## Run Locally\n\n- Clone the project\n\n  ```bash\n    git clone https://github.com/pbteja1998/nextjs-starter.git\n  ```\n\n- Go to the project directory\n\n  ```bash\n    cd nextjs-starter\n  ```\n\n- Install dependencies\n\n  ```bash\n    yarn\n  ```\n\n- Create .env.local and change env variables as per the [instructions](#environment-variables).\n\n  ```bash\n    cp .env.example .env.local\n  ```\n\n- Setup the database by running the following command and pasting the Fauna Secret key when prompted. More details at [fauna-schema-migrate](https://github.com/fauna-brecht/fauna-schema-migrate).\n\n  ```bash\n    yarn setup-db\n  ```\n\n- Start the server\n\n  ```bash\n    yarn dev\n  ```\n\n## Environment Variables\n\nTo run this project, you will need to add the following environment variables to your `.env.local` file\n\n- `NEXTAUTH_URL`\n  - This is the your application URL. Locally, you can set this to `http://localhost:3000`\n- `SECRET`\n  - Set this to any randomly generated string\n- `EMAIL_SERVER`\n  - This is the email server string. It's in the format of `smtp://username:password@smtp.example.com:587`. Replace `username`, `password` and `smtp.example.com` with your own credentials.\n- `EMAIL_FROM`\n  - Your email address from which you are sending emails.\n- `GITHUB_ID`\n- `GITHUB_SECRET`\n  - You need to create a GitHub OAuth App, and get the GITHUB_ID AND GITHUB_SECRET from that app.\n  - You can follow [these instructions](https://developer.github.com/apps/building-oauth-apps/creating-an-oauth-app/).\n  - When creating an oauth app for local development, you can set the `Homepage URL` to `http://localhost:3000` and `Authorization Callback URL` to `http://localhost:3000/api/auth/callback/github`\n- `LINKEDIN_ID`\n- `LINKEDIN_SECRET`\n  - You need to create an oauth app for LINKEDIN. You can set the callback URL to `http://localhost:3000/api/auth/callback/linkedin`\n- `FAUNADB_SECRET`\n  - Create a new fauna server key and set this variable to that key\n\n## FAQ\n\n### How to run Fauna locally?\n\n**Please note that this is completely optional. You can directly create your database in Fauna cloud and directly use the secret you generate there.**\n\nWe are using [Fauna Dev](https://docs.fauna.com/fauna/current/integrations/dev) docker container to run Fauna instance locally.\n\nThese are the instructions to setup Fauna container locally.\n\n```bash\n# Pull the latest Docker container:\ndocker pull fauna/faunadb:latest\n\n# Verify that the container executes correctly:\ndocker run fauna/faunadb --help\n```\n\nAfter you installed this, you can start the container using the following command\n\n```bash\ndocker run --rm --name faunadb -p 8443:8443 -p 8084:8084 fauna/faunadb\n```\n\nPlease note that this will create a new instance of Fauna everytime you run it, and all the data will be cleared when you stop this container. For other config options and approaches, go through the [documentation](https://docs.fauna.com/fauna/current/integrations/dev).\n\n**Changes you need to do in the template:**\n\n- You have to set `USE_FAUNA_DOCKER=true` in your `.env.local` file\n- Everytime you start the docker container, you need to first apply the migrations. You can do it by running `yarn setup-docker-db`.\n- More details at [fauna-schema-migrate](https://github.com/fauna-brecht/fauna-schema-migrate) and [Fauna Dev](https://docs.fauna.com/fauna/current/integrations/dev).\n\n## Feedback \u0026 Support\n\nFor feedback and support, please [open an issue](https://github.com/pbteja1998/nextjs-starter/issues/new) in this repo.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n\n## Roadmap\n\n**TBD**\n\n## Contributing\n\n**TBD**\n\n## Deploying\n\n### Vercel\n\n**TBD**\n\n### Netlify\n\n**TBD**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpbteja1998%2Fnextjs-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpbteja1998%2Fnextjs-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpbteja1998%2Fnextjs-starter/lists"}