
Next.js sin servidor PWA con firebase y reacts ganchos

Nota 1: Esta calderera se está convirtiendo a TypeScript. Para JavaScript puro, ver Branch old-javascript
Nota 2: Este es mi V4 Boilerplate para las aplicaciones web React. Consulte también My GraphQL + Postgres SQL Boilerplate, Redux + REST + Postgres SQL Boilerplate y Redux + REST + MongoDB Boilerplate. Para una página de destino Simple Next.JS, consulte la página de tierra-generación nextjs.
¿Usted o su empresa consideraron útil nextjs-pwa-firebase-boilerplate ? Considere dar una pequeña donación, me ayuda a pasar más tiempo en proyectos de código abierto:
Esta es una gran plantilla para un proyecto en el que desee reaccionar (con ganchos) (con generación estática de sitios (SSG) o representación del lado del servidor (SSR) , alimentada por Next.js) como frontend y Firebase como backend. Lightning Rápido, todo JavaScript.
manifest.json y Soporte fuera de línea ( next-offline ).getStaticProps o SSR getServerSideProps .getStaticProps / getServerSideProps al cambiar / agregar tablas de base de datos.sitemap.xml y robots.txt .google-site-verification Support (ver config/config.ts ).config/config.ts y .env.local .yarn lint / yarn fix ).yarn unit , aún no incluida).
Vea NextJS-PWA-FireBase-Boilerplate que se ejecuta en Vercel.

Clon este repositorio:
git clone https://github.com/tomsoderlund/nextjs-pwa-firebase-boilerplate.git [MY_APP]
cd [MY_APP]
Eliminar la carpeta .git ya que desea crear un nuevo repositorio
rm -rf .git
Instalar dependencias:
yarn # or npm install
En este punto, debe configurar Firebase Firestore, ver a continuación.
Cuando se configura Firebase, inicie la aplicación web por:
yarn dev
En producción:
yarn build
yarn start
Si navega a http://localhost:3004/ verá una página web con una lista de artículos (o una lista vacía si no ha agregado uno).
name "Next.js Firebase PWA", "Nextjs-pwa-FireBase-Boilerplate" y description "Next.js Servidor sin servidor con Firebase y React Hooks" a otra cosa.version en package.json a 0.1.0 o similar.license en package.json a cualquiera que se adapte a su proyecto. El artículo principal de la base de datos se llama Article , pero probablemente desee algo más en su aplicación.
Cambiar el nombre de los archivos:
git mv hooks/useArticles.tsx hooks/use{NewName}s.tsx
mkdir -p components/{newName}s
git mv components/articles/CreateArticleForm.tsx components/{newName}s/Create{NewName}Form.tsx
git mv components/articles/ArticleDetails.tsx components/{newName}s/{NewName}Details.tsx
git mv components/articles/ArticleList.tsx components/{newName}s/{NewName}List.tsx
git mv components/articles/ArticleListItem.tsx components/{newName}s/{NewName}ListItem.tsx
rm -r components/articles
mkdir pages/{newName}s
git mv "pages/articles/[slug].tsx" "pages/{newName}s/[slug].tsx"
rm -r pages/articles
Luego, busque/reemplace dentro de los archivos para diferentes carcasas: article , Article , ARTICLE .
Busque/reemplace por 3004 a otra cosa.
Configure la base de datos (si no necesita una base de datos, consulte "Cómo eliminar/reemplazar Firebase como base de datos" a continuación):
firebaseConfig (desde cuando se configure la aplicación web Firebase) a lib/data/firebase.ts.env.local , configurando el valor NEXT_PUBLIC_FIREBASE_API_KEY .yarn remove firebaselib/data/firebase.ts y modificar hooks/useArticles.tsx .createSqlRestRoutesServerless en sql-wizard para configurar sus propias rutas API.yarn remove firebaseyarn add @supabase/supabase-jsNEXT_PUBLIC_SUPABASE_API_KEY a .env.locallib/data/supabase.ts : import { createClient } from '@supabase/supabase-js'
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL
const supabaseKey = process.env.NEXT_PUBLIC_SUPABASE_API_KEY
export const supabase = createClient(supabaseUrl, supabaseKey)
lib/data/firebasepages/_app.tsxpublic/app.cssPageHead.tsxpublic/manifest.jsonDebe habilitar la autenticación de correo electrónico/contraseña en https://console.firebase.google.com/project/yourapp/authentication/providers
Nota: Si configura su proyecto utilizando el botón Implementar, debe clonar su propio repositorio en lugar de este repositorio.
Configurar e implementar su propio proyecto utilizando esta plantilla con VERCEL. Todo lo que necesitará es su clave de API pública de Firebase.