Skip to content

πŸ”§ The robust and scalable core of Blogger Hub, built using Spring Boot and MongoDB. This API-driven backend powers the Blogify platform with high performance and security.

Notifications You must be signed in to change notification settings

amaanlari/blogger-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

effb15c Β· Mar 12, 2025

History

21 Commits
Nov 16, 2024
Mar 12, 2025
Nov 16, 2024
Nov 16, 2024
Mar 12, 2025
Mar 12, 2025
Mar 12, 2025
Nov 16, 2024
Nov 16, 2024
Dec 30, 2024

Repository files navigation

Blogger Hub - Backend

Blogger Hub is a comprehensive blogging platform that enables users to create, manage, and share blogs seamlessly. This repository contains the backend API implementation built using Spring Boot and MongoDB with enterprise-level practices.

Features

  • User Module

    • User registration and login (JWT-based authentication)
    • User profile management
    • Follow and unfollow users
  • Blog Module

    • Create, update, delete, and view blogs
    • Like and comment on blogs
    • Support for threaded replies in comments
  • Media Management

    • Store profile pictures and blog images using Cloudinary
  • Database

    • MongoDB for managing users, blogs, and interactions

Features in Progress

  • User Follow Feature

    • Follow and unfollow users
  • Notification Module

    • Real-time notifications using queuing system (RabbitMQ or Apache Kafka etc.)
    • Notifications for likes, comments, and follows

Tech Stack

  • Backend Framework: Spring Boot
  • Database: MongoDB (with migration plans to DynamoDB)
  • File Storage: Cloudinary
  • API Documentation: Postman
  • Build Tool: Maven

Project Structure

blogger-hub/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”œβ”€β”€ java/com/bloggerhub/
β”‚   β”‚   β”‚   β”œβ”€β”€ config/           # Configuration files
β”‚   β”‚   β”‚   β”œβ”€β”€ constant/         # Constants files
β”‚   β”‚   β”‚   β”œβ”€β”€ controllers/      # REST controllers
β”‚   β”‚   β”‚   β”œβ”€β”€ document/         # Entity classes
β”‚   β”‚   β”‚   β”œβ”€β”€ dto/              # DTO classes
β”‚   β”‚   β”‚   β”œβ”€β”€ enums/            # Enum classes
β”‚   β”‚   β”‚   β”œβ”€β”€ repository/       # Database repositories
β”‚   β”‚   β”‚   β”œβ”€β”€ response/         # API responses
β”‚   β”‚   β”‚   β”œβ”€β”€ security/         # Security filters and configs 
β”‚   β”‚   β”‚   β”œβ”€β”€ service/          # Business logic
β”‚   β”‚   β”‚   └── util/             # Utility classes
β”‚   └── test/
β”‚       └── java/com/bloggerhub/  # Unit and integration tests
β”œβ”€β”€ pom.xml                       # Maven configuration
└── README.md                     # Project documentation

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/blogger-hub.git
    cd blogger-hub
  2. Update the application.yml file with your MongoDB and Cloudinary credentials.

  3. Build the project:

    mvn clean install
  4. Run the application:

    mvn spring-boot:run

API Documentation

The API documentation is available via Swagger at:

http://localhost:8080/swagger-ui/index.html

Development Setup

Prerequisites

  • Java 17 or higher
  • MongoDB installed locally or accessible via cloud
  • Kafka broker setup (local or cloud)

Configuration

The application uses profiles for different environments. Set the active profile as needed using the follwing:

  -Dspring.profiles.active=<profile>

                    OR

  -Dspring-boot.run.profiles=<profile>

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature/fix:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Add new feature"
  4. Push to your branch:
    git push origin feature-name
  5. Create a pull request.

License

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

Contact

For queries, reach out to Amaan Lari:

About

πŸ”§ The robust and scalable core of Blogger Hub, built using Spring Boot and MongoDB. This API-driven backend powers the Blogify platform with high performance and security.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published