Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Ayushhj21/Project-1-Blogging-Site

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 

Repository files navigation

πŸ“– Blogging Site – Mini Project

Node.js Express.js MongoDB JWT

A RESTful Blogging API built with Node.js, Express, and MongoDB.
This project showcases backend development, authentication, authorization, and CRUD operations with Postman-tested APIs.


πŸ“‘ Table of Contents


πŸš€ Features

Phase I – Core Blogging APIs

  • πŸ‘€ Author Management
    • Create authors with validation & unique emails
  • πŸ“ Blog Management
    • Create blogs for registered authors
    • Get all published & non-deleted blogs
    • Filter blogs by author, category, tags, subcategories
    • Update blogs (title, body, tags, subcategories, publish status)
    • Soft delete blogs (by ID or query filters)

Phase II – Authentication & Authorization

  • πŸ”‘ JWT Authentication (login with email & password)
  • πŸ›‘ Protected Routes (secured with middleware)
  • βœ… Authorization (only blog owners can edit/delete their blogs)

πŸ›  Tech Stack

  • Backend: Node.js, Express.js
  • Database: MongoDB with Mongoose
  • Authentication: JWT (JSON Web Tokens)
  • Other Tools: bcrypt (password hashing), Postman (API testing)

πŸ“‚ Database Models

πŸ‘€ Author Model

{
  fname: { type: String, required: true },
  lname: { type: String, required: true },
  title: { type: String, enum: ["Mr", "Mrs", "Miss"], required: true },
  email: { type: String, required: true, unique: true },
  password: { type: String, required: true }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published