Skip to content

AryanAg08/Blog_Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blog Post API

Blog Posts [/blog-posts]

Create a Blog Post [POST]

  • Request (application/json)

    • Headers

      Authorization: Bearer {access_token}

    • Body

      { "title": "Sample Blog Post", "content": "This is the content of the blog post.", "author": "John Doe" }

  • Response 201 (application/json)

    • Headers

      Location: /blog-posts/{id}

    • Body

      { "id": 1, "title": "Sample Blog Post", "content": "This is the content of the blog post.", "author": "John Doe", "createdAt": "2023-07-05T12:00:00Z", "updatedAt": "2023-07-05T12:00:00Z" }

Get All Blog Posts [GET]

  • Request (application/json)

    • Headers

      Authorization: Bearer {access_token}

  • Response 200 (application/json)

    • Body

      [ { "id": 1, "title": "Sample Blog Post", "content": "This is the content of the blog post.", "author": "John Doe", "createdAt": "2023-07-05T12:00:00Z", "updatedAt": "2023-07-05T12:00:00Z" }, { "id": 2, "title": "Another Blog Post", "content": "This is another blog post.", "author": "Jane Smith", "createdAt": "2023-07-05T13:00:00Z", "updatedAt": "2023-07-05T13:00:00Z" } ]

Blog Post [/blog-posts/{id}]

Get a Blog Post [GET]

  • Request (application/json)

    • Headers

      Authorization: Bearer {access_token}

  • Response 200 (application/json)

    • Body

      { "id": 1, "title": "Sample Blog Post", "content": "This is the content of the blog post.", "author": "John Doe", "createdAt": "2023-07-05T12:00:00Z", "updatedAt": "2023-07-05T12:00:00Z" }

Update a Blog Post [PUT]

  • Request (application/json)

    • Headers

      Authorization: Bearer {access_token}

    • Body

      { "title": "Updated Blog Post", "content": "This is the updated content of the blog post." }

  • Response 200 (application/json)

    • Body

      { "id": 1, "title": "Updated Blog Post", "content": "This is the updated content of the blog post.", "author": "John Doe", "createdAt": "2023-07-05T12:00:00Z", "updatedAt": "2023-07-05T14:00:00Z" }

Delete a Blog Post [DELETE]

  • Request (application/json)

    • Headers

      Authorization: Bearer {access_token}

  • Response 204

Node.js and React blogging platform:

Backend Components (Node.js):

  1. User Authentication: Handles user registration, login, and authentication using technologies like Passport.js or JSON Web Tokens (JWT).
  2. Blog Post API: Provides endpoints to create, retrieve, update, and delete blog posts. ☑️
  3. Comment API: Manages comment creation, retrieval, and interaction with blog posts. ☑️
  4. Category API: Handles CRUD operations for managing categories associated with blog posts.
  5. Tag API: Manages CRUD operations for handling tags associated with blog posts.
  6. Search API: Implements search functionality for searching and filtering blog posts.
  7. Customization API: Provides endpoints to customize blog appearance, themes, layouts, etc.

Frontend Components (React.js):

  1. User Authentication: Includes components for user registration, login, and authentication forms.
  • With google Done ☑️
  1. Blog Post List: Displays a list of blog posts, including their titles, excerpts, and authors.
  • Particular User done ☑️
  1. Blog Post Details: Shows the full content of a selected blog post, including comments and related information. ☑️

  2. Comment Section: Enables users to view and leave comments on blog posts. ☑️

  3. Category Navigation: Allows users to browse blog posts by categories.

  4. Tag Cloud: Displays a tag cloud representing popular tags, allowing users to filter posts by tags.

  5. Search Functionality: Implements a search bar for users to search for specific blog posts.

  6. Customization Options: Provides a user interface for customizing blog appearance, themes, and layouts.

These components represent the core features and functionalities of your blogging platform. You can further break down each component into smaller sub-components and implement them as per your project requirements and design preferences.

Remember to establish communication between the frontend (React) and backend (Node.js) components using HTTP APIs or websockets to ensure seamless data exchange and real-time updates.

Happy coding!

Done Things

  • Blog API
  • Comment API

idea

  • When opening a particular blog use its object Id as a forward address. To display the full blog!!
  • You can fetch the data accordingly. And display.
  • Comments are being sent as a object. That contains properties:
    • Author Name
    • Date - time
    • Likes - dislikes
    • Their comment

Category API

Category API | |-- GET /api/categories | |-- Retrieve a list of all categories | |-- GET /api/categories/:id | |-- Retrieve a specific category by ID | |-- POST /api/categories | |-- Create a new category | |-- PUT /api/categories/:id | |-- Update a category by ID | |-- DELETE /api/categories/:id | |-- Delete a category by ID