A lightweight and user-friendly blog platform built with Spring Boot, Thymeleaf, and Spring Security. This application allows users to create, read, update, and delete their own blog posts, and interact with other posts through comments. It showcases fundamental Spring Boot features including MVC architecture, data persistence with Spring Data JPA, user authentication and authorization, and RESTful APIs.
- User Authentication & Authorization: Secure user registration, login, and role-based access control using Spring Security.
- CRUD Operations for Posts: Users can create, view, edit, and delete their own blog posts.
- Commenting System: Users can add comments to any blog post.
- Tagging Functionality: Posts can be categorized with tags for easier navigation and search.
- Rich Text Editor: Integrated Quill.js for creating rich and formatted blog content.
- Database Integration: Persistent storage for users, posts, comments, and tags using H2 (for development) and easily configurable for other databases.
- Responsive UI: Developed with Bootstrap and Thymeleaf for a modern and accessible user experience.
- Backend:
- Java 17 (or your version)
- Spring Boot 3.x.x
- Spring Data JPA
- Spring Security
- Lombok
- Maven (or Gradle)
- H2 Database (for development/testing)
- Frontend:
- Thymeleaf
- Bootstrap 4.x
- Quill.js (Rich Text Editor)
- HTML, CSS, JavaScript
- Java Development Kit (JDK) 17+
- Maven 3.6+ (or Gradle if applicable)
- Git
-
Clone the repository:
git clone [https://github.com/your-username/simple-blog-platform.git](https://github.com/your-username/simple-blog-platform.git) cd simple-blog-platform
-
Build the project:
# For Maven: mvn clean install # For Gradle: # ./gradlew build
-
Run the application:
# For Maven: mvn spring-boot:run # For Gradle: # ./gradlew bootRun
The application will start on
http://localhost:8080
.
- Register: Navigate to
http://localhost:8080/register
to create a new user account. - Login: Use your new credentials to log in.
- Create Post: Click "Create New Post" to write and publish your blog entry.
- View Posts: See all posts on the homepage (
/
) or your own posts on/posts/user
. - Edit/Delete Post: On your user posts page, you can edit or delete your entries.
- Add Comments:** On any post's detail page, you can add comments.
Login Page:
Home Page: