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:
- The Deployed Link : https://avik-blog-1.onrender.com/
Installation and Usage:
-
Clone the repository:
git clone [https://github.com/your-username/mern-blog-project.git](https://github.com/Avik-creator/Avik-Blog.git)
-
Install dependencies:
#For Frontend:
cd client npm install
#For Backend:
npm install
-
Access the application:
- Open your browser and navigate to http://localhost:5173 - For Frontend.
- The Backend is running by default on port 3000.
-
Test User Login:
- email:
xaceri8160@cgbird.com
- password:
testUser
- email:
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.