Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/riturajnagar/blogging_application
Client wants blogging application where he/she can write blogs and articles. User can comment on the blogs/articles.
https://github.com/riturajnagar/blogging_application
date hibernate java lombok maven modelmapper mysql orm spring-boot springdata-jpa springsecurity-jwt sts-code-platform swagger-ui
Last synced: 5 days ago
JSON representation
Client wants blogging application where he/she can write blogs and articles. User can comment on the blogs/articles.
- Host: GitHub
- URL: https://github.com/riturajnagar/blogging_application
- Owner: riturajnagar
- Created: 2024-10-15T12:21:48.000Z (23 days ago)
- Default Branch: main
- Last Pushed: 2024-10-27T12:03:31.000Z (11 days ago)
- Last Synced: 2024-10-27T13:44:26.369Z (11 days ago)
- Topics: date, hibernate, java, lombok, maven, modelmapper, mysql, orm, spring-boot, springdata-jpa, springsecurity-jwt, sts-code-platform, swagger-ui
- Language: Java
- Homepage: https://github.com/riturajnagar/Blogging_Application
- Size: 387 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Blog Application
This project is developed by individual with the help of the Spring-Boot framework.It is Back-End project build in 4 working days.
It contained all the basic CRUD operation related to different entity.## Contributors (Individual Project)
- [@Rituraj](https://github.com/riturajnagar)## Tech Stack and Tools
- Java
- Spring Boot Framework
- Spring Data JPA
- Hibernate
- MySQL
- Swagger
- Lombok
- Postman Rest Client (API Testing)
- Maven ORM
- Apache Tomcat Server (Embedded server in SpringBoot App)
- STS
- Git & Github## Modules
- User Module
- Post Module
- Category Module
- Comment Module## ER Diagram
![img](https://github.com/riturajnagar/Blogging_Application/blob/main/blog_application/src/main/resources/templates/blogapperdiagram.png)## User Module :
- user should create, update, delete and list posts
- new user should able to register on our application![img](https://github.com/riturajnagar/Blogging_Application/blob/main/blog_application/src/main/resources/templates/UserController.png)
## Categories Module :
- categories the posts according to categories
- user can fetch one specific category or list of categories.
- user can delete and update the category.
![img](https://github.com/riturajnagar/Blogging_Application/blob/main/blog_application/src/main/resources/templates/CategoryController.png)
## Post Module :
- user can fetch posts using user Id or category Id or post Id
- user can fetch all posts
- user can delete and update the post
- posts API includes pagination and sorting
- you can search posts using keyword.
- posts include one image too.
- user can get the specific image also.
![img](https://github.com/riturajnagar/Blogging_Application/blob/main/blog_application/src/main/resources/templates/PostController.png)
## Comment Module :
- user shoud add, update, delete comments on posts.
![img](https://github.com/riturajnagar/Blogging_Application/blob/main/blog_application/src/main/resources/templates/CommentController.png)
## Architecture
Layered Architecture
- Structure (Controller -> API Layere -> Service -> Business Logic -> Repositories -> DAO Layer (Data Access))
![img](https://github.com/riturajnagar/Blogging_Application/blob/main/blog_application/src/main/resources/templates/layered%20Architecture.png)User interaction layer:
- This is the layer that interacts with users through screens, forms, menus, reports, etc.
- It defines how the application looks.Functionality layer:
- This is the layer that presents the functions, methods, and procedures of the system based on the business rules layerBusiness rules layer:
- This layer contains rules that determine the behavior of the whole application, such as, “If an invoice is printed, then send an email to the customer, select all items sold, and decrease their stock in the stock management module.”Application core layer:
- This server contains the main programs, code definitions, and basic functions of the application.
- Programmers work in this layer most of the time.Database layer:
- This layer contains the tables, indexes, and data managed by the application.
- Searches and insert/delete/update operations are executed here.### 👉 [Click here](http://localhost:7898/swagger-ui/index.html#/) to go through documentation after running application in your system
## Installation & Run
- To run this API server, you should update the database configuration inside the application.properties file which is present in the src/main/resources folder.
- Update the port number, username and password as per your local database configuration.
server.port=7898
spring.datasource.url=jdbc:mysql://localhost:3306/blog_app;
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=enter_username
spring.datasource.password=enter_password
```
## API Root Endpoint
```
https://localhost:7898/
```##