
Core database schema showing relationships between users, posts, comments, roles, and saved posts. This forms the foundation of the blog system.

The landing page where users can see a feed of published blog posts.

Main blog index showing all posts from various users.

Detailed view of a blog post with options to like, comment, or save.

Alternate layout of the single blog post view.

Login interface for existing users to access their accounts.

Registration page for new users to create an account and request writing permissions.

Email template used for welcoming users and granting blog writing access via a microservice.

Shown when users try to access restricted routes or features without proper roles.

Page shown after registration to prompt email verification before activation.

Interface to write and publish a blog post. Includes a rich text editor.

Alternate view/layout of the blog writing page.

Contact admin page to request blog-writing access. Still needs styling improvements.

Page where users can view blog posts they've saved for later reading.

Section listing the most recently published blog posts.

Alternate layout of the blog list view.

Confirmation screen shown after a successful blog submission.

Small panel for Deleting and Editing the Posts

Commenting interface available under each blog post.

Interface showing that the user has blog writing privileges.
⚠️ Note: Some pages like the comment system, admin contact page for permission requests, and revoke permissions interface still need to be styled properly. CSS was assisted with AI tools, which may have introduced unused styles that are yet to be cleaned up. Some CSS in this project was generated using AI tools to speed things up. That means there's a bit of messy or unused code still hanging around — I'm planning to clean it up soon. Also, pages like the comment system and admin permission request/revoke screens still need proper styling.
But most of the Javascript was written by me Java Spring/Spring Boot code was almost entirely written by me