A modern blogging website built with React, Node.js, Express, and MongoDB. This application allows users to read, write, and comment on blogs. It includes features like authentication, dynamic blog storage, and a sleek user interface.
-
User Authentication: Secure sign-up and login with session management.
-
Blog Management: Create, edit, and delete blog posts.
-
Commenting System: Add comments to blog posts.
-
Responsive Design: Modern UI with TailwindCSS for a responsive and intuitive design.
-
Image Uploads: Upload and manage blog thumbnails.
-
Frontend: React, TailwindCSS
-
Backend: Node.js, Express
-
Database: MongoDB
-
Image Storage: Cloudinary
-
Authentication: Firebase Authentication (for sign-in/sign-up)
-
Node.js (v14 or higher)
-
MongoDB
-
Cloudinary account (for image storage)
Plain textANTLR4BashCC#CSSCoffeeScriptCMakeDartDjangoDockerEJSErlangGitGoGraphQLGroovyHTMLJavaJavaScriptJSONJSXKotlinLaTeXLessLuaMakefileMarkdownMATLABMarkupObjective-CPerlPHPPowerShell.propertiesProtocol BuffersPythonRRubySass (Sass)Sass (Scss)SchemeSQLShellSwiftSVGTSXTypeScriptWebAssemblyYAMLXML bashCopy codegit clone https://github.com/hammadzamir/your-repository-name.git cd your-repository-name
-
Navigate to the client directory and install dependencies:bashCopy codecd clientnpm installCreate a .env file in the client directory with the following variables:envCopy codeREACT_APP_API_URL=http://localhost:5000/apiREACT\_APP\_CLOUDINARY\_URL=YOUR\_CLOUDINARY\_URL
-
Navigate to the server directory and install dependencies:bashCopy codecd servernpm installCreate a .env file in the server directory with the following variables:envCopy codeMONGO_URI=YOUR_MONGODB_URICLOUDINARY_URL=YOUR_CLOUDINARY_URLJWT_SECRET=YOUR_JWT_SECRETReplace the placeholders with your actual values.
-
Navigate to the server directory and run:bashCopy codenpm start
-
Navigate to the client directory and run:bashCopy codenpm startThe frontend should now be accessible at http://localhost:3000 and the backend at http://localhost:5000.
-
Sign Up: Register a new account.
-
Log In: Access your account with your credentials.
-
Create Blog: Write and publish new blog posts.
-
Edit Blog: Modify existing blog posts.
-
Delete Blog: Remove blog posts.
-
Comment: Add comments to blog posts.
If you'd like to contribute to this project, please follow these steps:
-
Fork the repository.
-
Create a new branch (git checkout -b feature-branch).
-
Commit your changes (git commit -am 'Add new feature').
-
Push to the branch (git push origin feature-branch).
-
Create a new Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or feedback, feel free to reach out:
-
GitHub: github.com/hammadzamir
-
LinkedIn: linkedin.com/in/hammadzamir
-
Instagram: instagram.com/im_zamir35