Skip to content

BosneviNedzma/MERN-Blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

MERN Blog Application

Welcome to the MERN Blog Application! This is a full-stack web application developed using the MERN (MongoDB, Express.js, React.js, Node.js) stack. The application provides a platform for users to create, read, update, and delete blog posts, as well as interact with other users through comments and likes.

Features

  • User Authentication: Users can sign up, sign in, and sign out securely. Passwords are encrypted before being stored in the database.
  • CRUD Operations: Admin can create, read, update, and delete their blog posts.
  • Commenting System: Users can comment on blog posts, edit their comments, and delete them. Admin can also edit and delete comments.
  • Like Functionality: Users can like blog posts and comments.
  • Admin Panel: Admin users have additional functionalities, including managing user accounts, deleting inappropriate content, and overviewing site analytics.
  • Responsive Design: The application is designed to be responsive and accessible on various devices and screen sizes.

Installation

To run the MERN Blog Application locally, follow these steps:

  1. Clone the repository:

    git clone <repository_url>
  2. Navigate to the project directory:

    cd mern-blog
  3. Install dependencies for the server:

    npm install
  4. Navigate to the client directory:

    cd client
  5. Install dependencies for the client:

    npm install
  6. Create a .env file in the root directory and specify environment variables:

    PORT=5000
    MONGO_URI=<your_mongodb_uri>
    SECRET_KEY=<your_secret_key>
    
  7. Start the development server:

    npm run dev
  8. Open your browser and visit http://localhost:3000 to view the application.

Technologies Used

  • Frontend: React.js, Redux Toolkit, Tailwind CSS
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Authentication: JSON Web Tokens (JWT)
  • State Management: Redux Toolkit
  • Deployment: Render (for deployment to production)