This project is a hands-on learning application built while studying Spring Boot, Spring Security, and backend development concepts.
The goal of this project is to practice and understand real-world backend development, including authentication, REST APIs, and application architecture.
Through this project, I learned:
- ✅ Building REST APIs using Spring Boot
- ✅ Understanding Spring Security
- ✅ Implementing JWT Authentication
- ✅ Integrating Google OAuth2 Login
- ✅ Structuring a scalable backend project
- ✅ Working with databases (MongoDB / MySQL)
- ✅ Writing clean and maintainable code
- 🔐 User Authentication (Spring Security)
- 🔑 JWT-based Login System
- 🌐 Google OAuth2 Login
- 📝 CRUD Operations for Journal Entries
- 👤 User Management
- 📦 RESTful API Design
- Backend: Spring Boot, Spring Security
- Database: MySQL
- Authentication: JWT + Google OAuth2
- Build Tool: Maven
- Other Tools: Lombok
src/main/java/com/springboot/journal_app
│
├── controller # Handles API requests
├── service # Business logic
├── repository # Database operations
├── entity # Data models
├── config # Security & app configuration
└── util # Helper classes
- User registers/logs in
- JWT token is generated
- Token is used to access protected APIs
- User accesses
/oauth2/authorization/google - Redirected to Google login
- On success → user is created/logged in
Update application.properties:
spring.security.oauth2.client.registration.google.client-id=YOUR_CLIENT_ID
spring.security.oauth2.client.registration.google.client-secret=YOUR_CLIENT_SECRET
spring.security.oauth2.client.registration.google.scope=email,profile
git clone https://github.com/your-username/journal-app.git
cd journal-app
mvn spring-boot:run
However, it demonstrates a strong understanding of:
- Backend development
- Authentication systems
- Spring ecosystem
- Add frontend (React / Angular)
- Improve security practices
- Add refresh tokens
- Deploy using Docker & AWS
YASH SHRIVASTAV
This project is part of my journey to becoming a better backend developer 🚀