- The API implements Spring Security and JSON Web Token (J.W.T) for authentication, validation, and authorization of users and administrators.
- The API includes functionality for pagination, sorting, and searching of data.
- The API implements custom exception handling for all exceptions and validations.
- The API utilizes custom request and response data transfer objects for all HTTP requests.
- The API's primary objective is to provide a streamlined and user-friendly blogging experience for users.
- Built on REST Architecture
- Consumable by clients that support HTTP Protocol
- Can be integrated with any application that supports REST API
- JAVA
- SPRING
- SPRINGBOOT
- HIBERNATE
- MAVEN
- J.D.B.C
- POSTGRESQL
- POSTMAN
- SWAGGER
- JWT AUTHENTICATION
- SPRING SECURITY
- SPRING DATA JPA
- SPRING BOOT DEVTOOLS
- SPRING MVC
- HIBERNATE
- POSTGRESQL DRIVER
- VALIDATION
- LOMBOK
-
Authentication Management
- Endpoint for Sign Up
- Endpoint for Sign In
-
Profile Management
- Endpoint for Updating User Information
- Endpoint for Retrieving User Information
- Endpoint for Deleting User Account
-
Post Management
- Endpoint for Creating Posts
- Endpoint for Updating Posts
- Endpoint for Retrieving Posts
- Endpoint for Deleting Posts
- Endpoint for Adding Comments to Posts
- Endpoint for Retrieving Posts with Custom Pagination
-
Category Management
- Endpoint for Creating Categories
- Endpoint for Updating Categories
- Endpoint for Retrieving Categories
- Endpoint for Deleting Categories
Install the Spring Tools Suite or any Java IDE
https://spring.io/toolsInstall PGAdmin4
https://www.pgadmin.org/download/Clone the Project
git clone https://github.com/AStream26/Blogify.gitOpen PGAdmin4
Create a New Database in SQL: "blog" Provide Login Details For Your Database
{
"password": "*****",
"username": "postgres"
}Go to the Project Directory
Open the Blog Application Folder with S.T.S or any Java IDEProvide the following Environment variable to configure the Database and JWT
DB_PASSWORD=password
DB_USERNAME=postgres
JWT_SECRET=**secret**
PROFILE=devhttp://localhost:9999http://localhost:9999/blog/swagger-ui.html