Skip to content

Blog website created with NextJS using TypeScript, Contentful for CMS and Firbase for the Database to store data like blog comments. I have also implemented firebase auth for authenticating users.

Notifications You must be signed in to change notification settings

contawo/blog_website

Repository files navigation

Next.js Blog with Contentful CMS and Firebase Authentication

Welcome to the Next.js Blog with Contentful CMS and Firebase Authentication project! As a developer, I've created a powerful blog platform that combines the best of modern technologies. Whether you're a seasoned coder or a curious learner, this project will provide valuable insights into building a robust blog site. Let's dive in and explore the magic of Next.js, Contentful, and Firebase! 🚀

Overview

In this project, I've combined several tools to create a feature-rich blog:

  • Next.js: A powerful React framework for building server-rendered applications.
  • Contentful: Our headless CMS for managing blog content.
  • Firebase Authentication: Secure user authentication using GitHub, Google, and email/password.

Features

  1. Blog Posts:
    • Create, edit, and delete blog posts using Contentful.
    • Add SEO metadata to each post using Next.js metadata.
  2. User Authentication:
    • Users can log in using GitHub or Google accounts.
    • Comment on blog posts after logging in.
  3. Newsletter Signup:
    • Users can sign up for newsletters to receive updates.
    • (Note: Email notifications for new posts are not yet implemented.)

Tech Stack

  • Next.js: Our frontend framework.
  • Contentful: Our headless CMS.
  • Firebase Authentication: For secure user logins.
  • CSS: For styling.

Getting Started

  1. Clone the Repository: Get started by cloning this repository to your local machine.
  2. Set Up Contentful:
    • Create a Contentful account.
    • Set up your content model (e.g., "Blog Post").
    • Retrieve your API keys.
  3. Set Up Firebase Authentication:
    • Create a Firebase project.
    • Enable authentication providers (GitHub, Google, email/password).
    • Retrieve your Firebase config.
  4. Environment Variables:
    • Create a .env.local file in your project root.
    • Add your Contentful and Firebase config variables.
  5. Install Dependencies:
    • Run npm install to install project dependencies.
  6. Run the Application:
    • Run npm run dev to start the development server.
    • Access the application at http://localhost:3000.

License

This project is licensed under the MIT License. Feel free to explore, modify, and share. 📜

Remember, every blog post is a story waiting to be told. Happy coding! 📝✨

About

Blog website created with NextJS using TypeScript, Contentful for CMS and Firbase for the Database to store data like blog comments. I have also implemented firebase auth for authenticating users.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published