Skip to content

rachidfrex/Blogging-Website

Repository files navigation

Modern Blog Website

A responsive and feature-rich blogging platform built with Node.js, Express, and MongoDB, offering a seamless experience for content creators and readers alike.

## Features
  • 🔐 User authentication (Sign up, Sign in, Sign out)
  • ✍️ Create, edit, and delete blog posts
  • 📱 Responsive design for all devices
  • 🖼️ Image upload functionality
  • 💬 Comments section
  • 👤 User profiles
  • 🎨 Modern and clean UI

Setup & Installation

  1. Clone the repository

    git clone https://github.com/rachidfrex/Blogging-Website.git
    cd Blogging-Website
  2. Install dependencies

    npm install
  3. MongoDB Configuration

    • Create a MongoDB Atlas account or use local MongoDB
    • Create a .env file in the root directory
    • Add your MongoDB configuration:
      MONGODB_URI=your_mongodb_connection_string
      PORT=3000
      JWT_SECRET=your_jwt_secret
      
  4. Start the server

    node src/app.js

Project Structure

Blogging-Website/
├── public/
├── src/
│   ├── app.js
│   ├── routes/
│   │   ├── auth.js
│   │   ├── blog.js
│   │   └── profile.js
│   ├── models/
│   │   ├── profiledb.js
│   │   └── postdb.js
│   ├── middleware/
│   │   └── auth.js
│   └── config/
│       └── db.js
├── projectImage/
├── package.json
└── README.md

Technologies Used

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JWT Authentication
  • Express Router
  • RESTful APIs

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Screenshots:

Login section

Home Page

Post View

Profile Section

Admin Dashboard

Don't forget to hit the ⭐ if you like this repo.

About

A complete blogging platform bulit using Node.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • EJS 54.6%
  • CSS 32.4%
  • JavaScript 13.0%