├── .env.example ├── .github └── pull_request_template.md ├── .gitignore ├── LICENSE.md ├── README.md ├── codegen.ts ├── components ├── articles │ ├── ArticleDetails.tsx │ ├── ArticleList.tsx │ ├── ArticleListItem.tsx │ └── CreateArticleForm.tsx ├── page │ ├── Footer.tsx │ ├── GoogleAnalytics.ts │ ├── Header.tsx │ ├── Notifications.tsx │ └── PageHead.tsx └── user │ ├── SigninWithEmailForm.tsx │ └── SigninWithGoogleButton.tsx ├── config └── config.ts ├── docs ├── demo.jpg ├── github_preview.jpg └── graphiql.png ├── graphql ├── __generated__ │ ├── fragment-masking.ts │ ├── gql.ts │ ├── graphql.ts │ └── index.ts ├── apollo.tsx ├── collections │ ├── _TEMPLATE │ │ ├── hooks.ts │ │ ├── queries.ts │ │ └── schema.sql │ ├── all_tables.sql │ ├── article │ │ ├── hooks.ts │ │ ├── queries.ts │ │ ├── resolvers.ts │ │ ├── schema.sql │ │ └── serverQueries.ts │ └── user │ │ ├── hooks.tsx │ │ ├── queries.ts │ │ └── schema.sql └── server │ ├── postgraphile.ts │ ├── postgres.ts │ ├── resolverExtensions.ts │ └── runMiddleware.ts ├── hooks ├── useDebounce.ts ├── useFormValidation.ts └── useLocalStorage.ts ├── lib ├── firebase.ts ├── formatDate.ts ├── handleRestRequest.ts ├── isClientSide.ts ├── isDevelopment.ts ├── lodashy.ts ├── makeRestRequest.ts ├── showNotification.ts └── toSlug.ts ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages ├── _app.tsx ├── _document.tsx ├── about.tsx ├── api │ ├── graphiql.ts │ └── graphql │ │ ├── index.ts │ │ └── stream.ts ├── articles │ └── [articleSlug].tsx ├── index.tsx ├── robots.txt.tsx ├── signin │ ├── authenticate.tsx │ └── index.tsx └── sitemap.xml.tsx ├── public ├── favicon.png ├── icons │ ├── feedback.svg │ ├── help.svg │ ├── home.svg │ ├── menu.svg │ └── person.svg ├── images │ └── google_g.svg └── manifest.json ├── styles └── globals.css ├── tsconfig.json ├── types └── global.d.ts ├── vercel.json └── yarn.lock /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/.env.example -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/README.md -------------------------------------------------------------------------------- /codegen.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/codegen.ts -------------------------------------------------------------------------------- /components/articles/ArticleDetails.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/articles/ArticleDetails.tsx -------------------------------------------------------------------------------- /components/articles/ArticleList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/articles/ArticleList.tsx -------------------------------------------------------------------------------- /components/articles/ArticleListItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/articles/ArticleListItem.tsx -------------------------------------------------------------------------------- /components/articles/CreateArticleForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/articles/CreateArticleForm.tsx -------------------------------------------------------------------------------- /components/page/Footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/page/Footer.tsx -------------------------------------------------------------------------------- /components/page/GoogleAnalytics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/page/GoogleAnalytics.ts -------------------------------------------------------------------------------- /components/page/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/page/Header.tsx -------------------------------------------------------------------------------- /components/page/Notifications.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/page/Notifications.tsx -------------------------------------------------------------------------------- /components/page/PageHead.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/page/PageHead.tsx -------------------------------------------------------------------------------- /components/user/SigninWithEmailForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/user/SigninWithEmailForm.tsx -------------------------------------------------------------------------------- /components/user/SigninWithGoogleButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/components/user/SigninWithGoogleButton.tsx -------------------------------------------------------------------------------- /config/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/config/config.ts -------------------------------------------------------------------------------- /docs/demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/docs/demo.jpg -------------------------------------------------------------------------------- /docs/github_preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/docs/github_preview.jpg -------------------------------------------------------------------------------- /docs/graphiql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/docs/graphiql.png -------------------------------------------------------------------------------- /graphql/__generated__/fragment-masking.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/__generated__/fragment-masking.ts -------------------------------------------------------------------------------- /graphql/__generated__/gql.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/__generated__/gql.ts -------------------------------------------------------------------------------- /graphql/__generated__/graphql.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/__generated__/graphql.ts -------------------------------------------------------------------------------- /graphql/__generated__/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/__generated__/index.ts -------------------------------------------------------------------------------- /graphql/apollo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/apollo.tsx -------------------------------------------------------------------------------- /graphql/collections/_TEMPLATE/hooks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/_TEMPLATE/hooks.ts -------------------------------------------------------------------------------- /graphql/collections/_TEMPLATE/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/_TEMPLATE/queries.ts -------------------------------------------------------------------------------- /graphql/collections/_TEMPLATE/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/_TEMPLATE/schema.sql -------------------------------------------------------------------------------- /graphql/collections/all_tables.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/all_tables.sql -------------------------------------------------------------------------------- /graphql/collections/article/hooks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/article/hooks.ts -------------------------------------------------------------------------------- /graphql/collections/article/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/article/queries.ts -------------------------------------------------------------------------------- /graphql/collections/article/resolvers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/article/resolvers.ts -------------------------------------------------------------------------------- /graphql/collections/article/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/article/schema.sql -------------------------------------------------------------------------------- /graphql/collections/article/serverQueries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/article/serverQueries.ts -------------------------------------------------------------------------------- /graphql/collections/user/hooks.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/user/hooks.tsx -------------------------------------------------------------------------------- /graphql/collections/user/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/user/queries.ts -------------------------------------------------------------------------------- /graphql/collections/user/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/collections/user/schema.sql -------------------------------------------------------------------------------- /graphql/server/postgraphile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/server/postgraphile.ts -------------------------------------------------------------------------------- /graphql/server/postgres.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/server/postgres.ts -------------------------------------------------------------------------------- /graphql/server/resolverExtensions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/server/resolverExtensions.ts -------------------------------------------------------------------------------- /graphql/server/runMiddleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/graphql/server/runMiddleware.ts -------------------------------------------------------------------------------- /hooks/useDebounce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/hooks/useDebounce.ts -------------------------------------------------------------------------------- /hooks/useFormValidation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/hooks/useFormValidation.ts -------------------------------------------------------------------------------- /hooks/useLocalStorage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/hooks/useLocalStorage.ts -------------------------------------------------------------------------------- /lib/firebase.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/lib/firebase.ts -------------------------------------------------------------------------------- /lib/formatDate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/lib/formatDate.ts -------------------------------------------------------------------------------- /lib/handleRestRequest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/lib/handleRestRequest.ts -------------------------------------------------------------------------------- /lib/isClientSide.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/lib/isClientSide.ts -------------------------------------------------------------------------------- /lib/isDevelopment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/lib/isDevelopment.ts -------------------------------------------------------------------------------- /lib/lodashy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/lib/lodashy.ts -------------------------------------------------------------------------------- /lib/makeRestRequest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/lib/makeRestRequest.ts -------------------------------------------------------------------------------- /lib/showNotification.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/lib/showNotification.ts -------------------------------------------------------------------------------- /lib/toSlug.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/lib/toSlug.ts -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/next-env.d.ts -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/next.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/package.json -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/_app.tsx -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/_document.tsx -------------------------------------------------------------------------------- /pages/about.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/about.tsx -------------------------------------------------------------------------------- /pages/api/graphiql.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/api/graphiql.ts -------------------------------------------------------------------------------- /pages/api/graphql/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/api/graphql/index.ts -------------------------------------------------------------------------------- /pages/api/graphql/stream.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/api/graphql/stream.ts -------------------------------------------------------------------------------- /pages/articles/[articleSlug].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/articles/[articleSlug].tsx -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/index.tsx -------------------------------------------------------------------------------- /pages/robots.txt.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/robots.txt.tsx -------------------------------------------------------------------------------- /pages/signin/authenticate.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/signin/authenticate.tsx -------------------------------------------------------------------------------- /pages/signin/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/signin/index.tsx -------------------------------------------------------------------------------- /pages/sitemap.xml.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/pages/sitemap.xml.tsx -------------------------------------------------------------------------------- /public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/public/favicon.png -------------------------------------------------------------------------------- /public/icons/feedback.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/public/icons/feedback.svg -------------------------------------------------------------------------------- /public/icons/help.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/public/icons/help.svg -------------------------------------------------------------------------------- /public/icons/home.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/public/icons/home.svg -------------------------------------------------------------------------------- /public/icons/menu.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/public/icons/menu.svg -------------------------------------------------------------------------------- /public/icons/person.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/public/icons/person.svg -------------------------------------------------------------------------------- /public/images/google_g.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/public/images/google_g.svg -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/public/manifest.json -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/styles/globals.css -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/global.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/types/global.d.ts -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "crons": [ 3 | ] 4 | } 5 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomsoderlund/nextjs-pwa-graphql-sql-boilerplate/HEAD/yarn.lock --------------------------------------------------------------------------------