Skip to content

Latest commit

 

History

History
111 lines (57 loc) · 4.15 KB

README.md

File metadata and controls

111 lines (57 loc) · 4.15 KB

Blogify: A Full-Stack MERN Blog Application

Welcome to Blogify!

Live Demo: Link to my deployed project

This project demonstrates a full-stack blog application built with the MERN stack (MongoDB, Express, React, Node.js). It boasts a user-friendly interface, robust functionalities, and secure user management.

home

This README will guide you through the key features and functionalities of Blogify:

Project Structure

  • client: Contains the React frontend codebase for the application.
  • server: Houses the Node.js backend code responsible for server-side logic and API endpoints.

Navigating Blogify

1. Home Page:

home

The home page serves as the main entry point for users. It typically displays a list of recent blog posts, along with navigation options to access other sections of the application.

2. Admin Dashboard:

admin dashboard

This section is accessible only to authorized users with admin privileges.

The admin dashboard provides functionalities for managing users, posts, and comments. This includes functionalities like viewing, editing, and deleting data.

3. Sign Up:

sign up

Users can create new accounts for signing up. This section should include functionalities for both email/password and Google OAuth login.

4. Sign In:

sign in

Users can sign in using their existing credentials. This section should include functionalities for both email/password and Google OAuth login.

5. Create Post:

create post

This section is accessible only to authenticated users.

Here, users can create new blog posts by providing a title, image, content, and potentially adding categories or tags.

6. Update Post:

update post

This section is accessible only to authenticated users and only for posts the user created.

Users can edit existing blog posts by modifying the title, image, content, or associated categories/tags.

7. Search:

search

The search functionality allows users to find specific blog posts based on keywords or criteria. You can highlight the advanced search features like filtering and sorting capabilities here.

8. Post Details:

post details

This page displays the details of an individual blog post, including the title, image, content, date, mins of read and potentially comments and likes from other users.

Getting Started

  1. Clone the repository:

    git clone [https://github.com/](https://github.com/)<your-username>/blogify.git
    
    
  2. Install dependencies:

    cd blogify
    npm install
    
  3. Configure environment variables:

Create a .env file in the project root directory and add the following variables (replace with your actual values):

MONGODB_URI=mongodb://localhost:27017/<your-database-name>
JWT_SECRET=<your-jwt-secret>
GOOGLE_CLIENT_ID=<your-google-client-id>
GOOGLE_CLIENT_SECRET=<your-google-client-secret>
  1. Run the application:

    npm start
    

This will start the development server on http://localhost:3000 by default.

Deployment

You can deploy the application to a hosting platform of your choice. Refer to the platform's documentation for specific deployment instructions.