The Journal App is a Spring Boot–based personal journaling application that allows users to record, manage, and analyze their daily journal entries.
It integrates with Google OAuth2, MongoDB, Redis, Kafka, Weather API, and Email notifications, providing a complete and modern backend system.
- User Authentication: Secure Google OAuth2 login using Spring Security.
- Journal Management: Create, update, view, and delete daily journal entries.
- Weather Insights: Fetch and display weather data for each journal entry using an external Weather API.
- Caching: Redis integration for session caching and fast data access.
- Database: MongoDB for flexible, document-based storage.
- Kafka Integration: Event-driven processing for weekly sentiment summaries.
- Email Notifications: Automatic email alerts and summaries via Gmail SMTP.
- Environment-based Configuration: All credentials and settings externalized using environment variables.
| Layer | Technology |
|---|---|
| Backend Framework | Spring Boot |
| Database | MongoDB |
| Cache | Redis |
| Messaging | Apache Kafka |
| Security | Spring Security with Google OAuth2 |
| Mail Service | Gmail SMTP |
| Weather Integration | Third-party Weather API |
| Build Tool | Maven |
| Language | Java 17+ |