Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Example of blog built with React, Next.js, Firebase Firestore, Styled-Component, Mobx State Tree and other cool technologies

License

NotificationsYou must be signed in to change notification settings

suevalov/next-blog-firestore

Repository files navigation

code style: prettierstyle: styled-components

Next Blog Firestore

This blog uses Next.js for SSR & Firebase Firestore API for storing and fetching data. Create and edit your content in simple custom content managementsystem built with React, Mobx State Tree and Styled Components.

Clone this repo and use it as starting point to create your own fancy blog.

Technology stack:

What you get:

  • Posts feed
  • Featured posts
  • Posts by tags and category
  • Multi language support
  • Multi author support
  • Markdown with ability to use custom React components
  • Simple and convenient CMS inspired by Ghost
  • CMS is protected by Firebase Auth
  • Quick and SEO-friendly responses with SSR
  • Good results in Lighthouse

Getting started

Step 1. CreateFirebase account

Create Firebase account

Step 2. Setup Authentication Method

  • ClickSet up sign-in method on Authentication section.
  • Enablejust Google authentication provider.
  • Add your domain (if you have one) toAuthorized domains.

Setup authentication

Step 3. Create Firestore database

  • Go toDatabase section and create Firestore instance.

Create Firestore database

Firestore is still in beta, but it doesn't make it less awesome.

Step 4. Database configuration.

  • Go toRules section in your database and paste configuration from.firebase-rules in project root.
  • Publish new rules.

Step 5. Set up Firebase secret keys for our app.

  • Create.env at the root of the project. Do not commit this file. It is personal data that should not be available for everyone.
  • Go toProject settings in Firebase console (click on the gear icon next toProject Overview).
  • Copy data from this page to.env in the following format:
F_PROJECT_ID=<your Project ID>F_AUTH_DOMAIN=<your Project ID>.firebaseapp.comF_API_KEY=<your Web API Key>

Step 6. Set up Firebase Admin SDK key for importing/exporting data from database.

In order to be able to initialize database with initial seed we need to generate private Firebase Admin service key.

  • Go toProject Settings >Service Accounts and clickGenerate new private key button.
  • Save downloaded file asfirebase-service-key.json at project root.** Do not commit this file. It's added to.gitignore by default.

Step 7. Initialize database with initial data.

We almost finished. Let's initialize our database with initial data.

yarnyarn run seed

Step 8. Setup database indexes.

We need manually setup indexes in our Firestore database to be able to make REST requests to our Firebase.

  • Go toDatabase >Indexes and create the following index.

Create indexes

Step 9. Run blog locally.

We're ready to launch our blog locally.

yarn dev

Blog is up and running onhttp://localhost:3000.

Step 10. Sign in to admin part.

Wait.. But what's about CMS part?

  • Go tohttp://localhost:3000/admin and click on"Click to start writing".
  • Sign-in with your Google Account in popup window.
  • Go toFirebase Console and add author rights to account you just signed in with.
    • CopyUser UID inAuthentication section.
    • Createauthors collection inDatabase
    • Create a record inauthors collection, wheredocumentId is UID of the user andname isid of user inconfig.js file.

Map author and user

Step 11. Ready to go!

License

Licensed under the MIT License, Copyright © 2018-present Alexander Suevalov

SeeLICENSE for more information.

About

Example of blog built with React, Next.js, Firebase Firestore, Styled-Component, Mobx State Tree and other cool technologies

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp