Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/contawo/blog_website

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.
https://github.com/contawo/blog_website

blog contentful firebase-auth firebase-realtime-database nextjs typescript

Last synced: 3 days ago
JSON representation

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.

Awesome Lists containing this project

README

        

# 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! 📝✨