/Avik-Blog

Live Version of Web App

Primary LanguageTypeScript

MERN Full Stack Blog Project

This project is a full-fledged blog application built using the MERN stack (MongoDB, Express.js, React.js, and Node.js) with a focus on robust backend architecture and user experience. While the frontend might have some minor visual imperfections, the backend implementation is thoroughly secure and encompasses essential functionalities.

Key Features:

  • Secure and Scalable Backend:
    • Robust Mongoose models for data persistence in MongoDB.
    • Optimized for performance and scalability.
    • Implemented best practices for security, including proper sanitization and input validation.
    • JWT-based user authentication and authorization for secure access control.
    • Password hashing with a strong, industry-standard algorithm (e.g., bcrypt).
    • Regular security audits and updates to mitigate vulnerabilities.
  • Enhanced User Experience:
    • Seamless sign in and sign up with Google authentication.
    • Streamlined user profile management (picture, username, email).
    • Responsive design for optimal viewing across devices.
    • Light and dark mode themes to personalize user preferences.
    • Blog post creation with image upload and category selection.
    • Commenting system for user interaction and engagement.
    • Pagination for efficient navigation through blog posts.
    • Search functionality to locate posts by title.
    • Added Security Feature: OTP (One-Time Password) verification during signup for additional login security.
  • Deployment and Learning Resources:

Installation and Usage:

  1. Clone the repository:

    git clone [https://github.com/your-username/mern-blog-project.git](https://github.com/Avik-creator/Avik-Blog.git)
    
  2. Install dependencies:

    #For Frontend:

    cd client
    npm install
    

    #For Backend:

    npm install
    
  3. Access the application:

    • Open your browser and navigate to http://localhost:5173 - For Frontend.
    • The Backend is running by default on port 3000.

Images of the Application: Screenshot 2024-04-23 at 12 21 21 PM

Screenshot 2024-04-23 at 12 22 24 PM Screenshot 2024-04-23 at 12 22 41 PM
  1. Test User Login:

    • email: xaceri8160@cgbird.com
    • password: testUser

Contributing:

We welcome contributions to this project! Please refer to the CONTRIBUTING.md file for guidelines on how to contribute code, report issues, and participate in discussions.

License:

This project is licensed under the MIT License (see LICENSE.md for details).

Disclaimer:

While this project offers a solid foundation for building a blog application, it's crucial to continuously maintain and update it with the latest security patches and best practices to ensure its enduring security and functionality.