{"id":23076579,"url":"https://github.com/corbaz/next","last_synced_at":"2025-10-12T20:44:30.949Z","repository":{"id":125339242,"uuid":"587216237","full_name":"corbaz/next","owner":"corbaz","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-29T18:32:28.000Z","size":7188,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-10-29T20:37:39.809Z","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/corbaz.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":"2023-01-10T08:27:03.000Z","updated_at":"2024-10-29T18:32:26.000Z","dependencies_parsed_at":"2023-09-21T20:28:55.196Z","dependency_job_id":"fecbacca-c235-4da5-a227-25a36bbf1bfd","html_url":"https://github.com/corbaz/next","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"thisismydesign/nestjs-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corbaz%2Fnext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corbaz%2Fnext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corbaz%2Fnext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corbaz%2Fnext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/corbaz","download_url":"https://codeload.github.com/corbaz/next/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246998229,"owners_count":20866696,"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-16T09:41:18.080Z","updated_at":"2025-10-12T20:44:30.853Z","avatar_url":"https://github.com/corbaz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NestJS Starter\n## Social Login https://javascript.plainenglish.io/oauth2-in-nestjs-for-social-login-google-facebook-twitter-etc-8b405d570fd2\n[![CI](https://github.com/thisismydesign/nestjs-starter/actions/workflows/ci.yml/badge.svg)](https://github.com/thisismydesign/nestjs-starter/actions/workflows/ci.yml)\n\n#### NestJS MVC boilerplate for rapid development with battle-tested standards.\n\n[Use this template](https://github.com/thisismydesign/nestjs-starter/generate)\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)\n\n## Stack\n\nIt has\n- Example REST and GraphQL modules, DB using TypeORM as seen on https://docs.nestjs.com/\n- [Next.js](https://nextjs.org/) integration for React on the frontend ([howto article](https://csaba-apagyi.medium.com/nestjs-react-next-js-in-one-mvc-repo-for-rapid-prototyping-faed42a194ca))\n- Typed queries \u0026 results with GraphQL out of the box ([howto article](https://csaba-apagyi.medium.com/automagically-typed-graphql-queries-and-results-with-apollo-3731bad989aa))\n- Authentication via [Passport.js](http://www.passportjs.org/) including Social providers ([howto article](https://medium.com/csaba.apagyi/oauth2-in-nestjs-for-social-login-google-facebook-twitter-etc-8b405d570fd2)), [AWS Cognito](https://aws.amazon.com/cognito/) ([howto article](https://medium.com/csaba.apagyi/cognito-via-oauth2-in-nestjs-outsourcing-authentication-without-vendor-lock-in-ce908518f547)), and JWT strategy for REST and GraphQL\n- Docker setup\n- Typescript, ESLint\n- CI via GitHub Actions\n- Running tasks (e.g. DB seeding) via [nestjs-console](https://github.com/Pop-Code/nestjs-console)\n- Unit and integration testing via Jest\n- Heroku deployment setup\n- Google Analytics 4\n\n## Usage\n\n### Production\n\nhttps://nestjs-starter-production.herokuapp.com/\n\n### Staging\n\nhttps://nestjs-starter-staging.herokuapp.com/\n\n### Dev\n\n```sh\ncp .env.example .env\ndocker-compose up\ndocker-compose exec web yarn lint\ndocker-compose exec web yarn test\ndocker-compose exec web yarn test:request\ndocker-compose exec web yarn build\ndocker run -it -v $PWD:/e2e -w /e2e --entrypoint=cypress cypress/included:10.0.3 run --config-file cypress.docker.config.ts\n```\n\n## Functionality\n\nREST endpoint via Nest\n- http://localhost:3000/\n\nJWT-protected REST endpoint via Nest\n- http://localhost:3000/private\n\nGraphQL playground (`query WhoAmI` is JWT-protected)\n- http://localhost:3000/graphql\n```qgl\nquery Public {\n  things {\n    id\n    name\n  }\n\n  users {\n    id\n    provider\n  }\n}\n\n# Add Header: { \"Authorization\": \"Bearer \u003ctoken\u003e\" }\nquery Private {\n  whoAmI {\n    id,\n    provider,\n    providerId,\n    username,\n    name\n  }\n\n  orders {\n    id\n\n    alias\n    thing {\n      name\n    }\n  }\n}\n\nmutation createOrder {\n  createOrder(alias: \"myname\", thingName: \"this is a thing you can order\") {\n    id\n    alias\n  }\n}\n```\n\nCognito auth (redirects to hosted Cognito UI)\n- http://localhost:3000/auth/cognito\n\nGoogle auth\n- http://localhost:3000/auth/google\n\nNext.js page\n- http://localhost:3000/home\n\nJWT-protected Next.js page\n- http://localhost:3000/profile\n\n### Useful commands\n\nNest CLI:\n```\ndocker-compose exec web yarn nest -- --help\n```\n\nTypeORM CLI:\n```\ndocker-compose exec web yarn typeorm -- --help\n```\n\n## Resources\n\n- https://github.com/jmcdo29/testing-nestjs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorbaz%2Fnext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcorbaz%2Fnext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorbaz%2Fnext/lists"}