A production-ready TechBlog Backend REST API built using Spring Boot, Spring Security (JWT), MySQL/TiDB, and WebSocket. It powers a modern blogging platform with secure authentication, profile management, posts, comments, likes, follow system, notifications, OTP verification, and real-time updates.
- User Registration
- Login with JWT Authentication
- Secure Password Encryption (BCrypt)
- Email OTP Verification
- Forgot Password
- Reset Password
- Update User Profile
- Upload Profile Picture
- Search Users
- User Dashboard
- View User Profile
- Create Post
- Update Post
- Delete Post
- View All Posts
- View User Posts
- Like Post
- Unlike Post
- Real-time Like Count
- Add Comment
- Delete Comment
- View Comments
- Follow User
- Unfollow User
- Followers List
- Following List
- Real-time Notifications
- WebSocket Integration
- STOMP Messaging
- SockJS Support
- Upload Profile Images
- Static Resource Serving
- Image Persistence
- Production File Handling
- JWT Authentication
- Spring Security
- Stateless Sessions
- BCrypt Password Encoding
- Protected REST APIs
- CORS Configuration
- Java 21
- Spring Boot
- Spring Security
- Spring Data JPA
- Hibernate
- Maven
- TiDB Cloud (MySQL Compatible)
- JWT
- BCrypt
- Brevo SMTP
- WebSocket
- STOMP
- SockJS
- Render
- Docker
src
├── config
├── controller
├── dto
├── entity
├── repository
├── security
├── service
├── websocket
└── util
- Authentication
- OTP Verification
- User Management
- Posts
- Likes
- Comments
- Follow System
- Notifications
- Profile Upload
- JWT Security
POST /api/users/register
POST /api/users/login
POST /api/users/verify
POST /api/users/forgot-password
POST /api/users/reset-password
GET /api/users/me
PUT /api/users/update
POST /api/users/upload
GET /api/users/search
GET /api/posts
POST /api/posts
PUT /api/posts/{id}
DELETE /api/posts/{id}
POST /api/comments
DELETE /api/comments/{id}
POST /api/likes/toggle
POST /api/follow/{id}
DELETE /api/follow/{id}
GET /api/notifications
Register
↓
OTP Verification
↓
Login
↓
JWT Token
↓
Protected APIs
Backend is deployed on Render.
Database is hosted on TiDB Cloud.
Aakash Prasad Chaurasiya
- Java Full Stack Developer
- Spring Boot Developer
- Backend & Scalable Systems Enthusiast
Portfolio: https://www.aakashchaurasiya.com.np
- Bookmark Posts
- Saved Posts
- Admin Panel
- Analytics Dashboard
- Image Compression
- AWS S3 Storage
- Docker Compose
- Kubernetes Deployment
- Redis Cache
- Rate Limiting