Next Firestore Content Management System

This repo is an example of using Firebase v9 (www.firebase.com) as a Content Management System with NextJS, Typescript and TailwindCSS

Quickstart

# Install dependencies
yarn install

# Enable husky
yarn husky install

# Start dev server
yarn dev

Roadmap

  • Configure init NextJS website (with Typescript)
  • Setup firebase configuration
  • Add TailwindCSS
  • Add Firebase and display content from firestore
  • Use SWR for data fetching
  • CRUD content using firestore
  • Use Markdown in posts
  • Upload images

Before you start

  • Setup new project on firebase.com
  • Download the firebase config settings
  • Download the service account for firebase admin sdk
  • Enable the Cloud Firestore
  • Enable Email/Password Authentication (Authentication > Sign-in method > Sign-in providers)
  • Enable Github Authentication see instructions

Setup Instructions

  • Clone repo to local machine
  • Copy your firebase config settings to .env.example file
  • Rename .env.example to .env
  • Install dependencies using yarn
  • Run locally using yarn dev

Deploy Instructions

  • Build for production using yarn build
  • Upload to hosting provider of choice