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.
This README will guide you through the key features and functionalities of Blogify:
client
: Contains the React frontend codebase for the application.server
: Houses the Node.js backend code responsible for server-side logic and API endpoints.
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.
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.
Users can create new accounts for signing up. This section should include functionalities for both email/password and Google OAuth login.
Users can sign in using their existing credentials. This section should include functionalities for both email/password and Google OAuth login.
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.
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.
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.
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.
-
Clone the repository:
git clone [https://github.com/](https://github.com/)<your-username>/blogify.git
-
Install dependencies:
cd blogify npm install
-
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>
-
Run the application:
npm start
This will start the development server on http://localhost:3000
by default.
You can deploy the application to a hosting platform of your choice. Refer to the platform's documentation for specific deployment instructions.