Skip to content

About

RESTful Blog Application built with Java, Spring Boot, Spring Data JPA, Spring Security, JWT, and MySQL.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Blog Application

A RESTful Blog Application built using Java and Spring Boot. The application provides APIs for managing posts, categories, users, and comments, with authentication and authorization using Spring Security and JWT.

🚀 Features

  • User registration and authentication
  • JWT-based authentication and authorization
  • Create, read, update, and delete blog posts
  • Manage categories
  • Manage comments
  • Search posts
  • Pagination and sorting
  • Category-based post filtering
  • Image upload
  • Request validation
  • Exception handling
  • Swagger/OpenAPI API documentation

🛠️ Technologies Used

  • Java
  • Spring Boot
  • Spring MVC
  • Spring Data JPA
  • Hibernate
  • Spring Security
  • JWT
  • MySQL
  • REST API
  • Maven
  • Swagger/OpenAPI

🏗️ Project Architecture

The application follows a layered architecture:

  • Controller — Handles HTTP requests and responses
  • Service — Contains business logic
  • Repository — Handles database operations
  • Entity — Represents database tables
  • Exception — Handles application exceptions
  • Security — Handles authentication and authorization

🗄️ Database

MySQL is used as the database.

Spring Data JPA and Hibernate are used for database interaction and object-relational mapping.

🔐 Security

Spring Security and JWT are used to secure the REST APIs.

Authentication is performed using JWT tokens, and authorization controls access to protected resources.

📚 API Documentation

Swagger/OpenAPI is used to document and test the REST APIs.

After starting the application, open the Swagger UI URL configured by the application.

⚙️ How to Run

1. Clone the repository

git clone https://github.com/ramn-x/blog-application.git

2. Open the project

Open the project in IntelliJ IDEA or another Java IDE.

3. Configure MySQL

Create a MySQL database and update the database configuration in the application's configuration file.

4. Run the application

Run the Spring Boot application using the IDE or Maven.

5. Test the APIs

Use Swagger/OpenAPI or Postman to test the REST APIs.

📌 Future Improvements

  • Add automated tests
  • Add deployment
  • Improve API documentation
  • Add frontend integration

👨‍💻 Author

Raman Kumar

Java Backend Developer

GitHub: https://github.com/ramn-x

About

RESTful Blog Application built with Java, Spring Boot, Spring Data JPA, Spring Security, JWT, and MySQL.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages