A production-grade Instagram backend built with Spring Boot. Includes a secure and complete authentication system with email verification, 2FA using OTP, Google OAuth login, post management, and user interactions like follow/unfollow/block.
- ✅ User Registration with Email Verification
- ✅ Login with Password + 2FA OTP (via Email)
- ✅ Google OAuth Login
- ✅ Forgot Password & Reset Flow
- ✅ Resend OTP & Verification Link
- ✅ Create, Edit & Delete Posts
- ✅ Like & Comment on Posts
- ✅ Follow, Unfollow, Block Users
- ✅ View Own & Others' Profiles
- ✅ Secure JWT-based Authentication
- ✅ Role-based Access Control
| Layer | Technology |
|---|---|
| Backend | Java, Spring Boot 3 |
| Security | Spring Security, JWT, 2FA via OTP |
| OAuth | Google OAuth 2.0 |
| Database | MySQL/PostgreSQL |
| ORM | Spring Data JPA |
| JavaMailSender (SMTP) | |
| Tools | Maven, Postman, Docker |