Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dear Journal 404

A Spring Boot–based journaling backend demonstrating secure authentication, efficient caching, event-driven messaging, and automated mail scheduling — designed to showcase modern backend engineering practices.

🚀 Overview

Dear Journal 404 is a backend system that lets users maintain personal journals with secure access, fast caching, and automated weekly summaries. It integrates Spring Boot, MongoDB, Redis, Kafka, and custom cron jobs to simulate real-world backend workflows.

##🧩 Core Features

🔐 Authentication & Authorization

  • Implemented using Spring Security 6 with HTTP Basic Authentication.
  • Role-based access control for differentiating user privileges.
  • Credentials securely stored with BCrypt password hashing.

🗄️ Data Persistence

  • Journals stored in MongoDB using repository abstractions.
  • Each journal is linked to its authenticated user.
  • Supports complete CRUD REST API operations.

⚡ Caching

  • The latest 7 journals per user cached in Redis.
  • Improves read performance and reduces database load.
  • Cache automatically invalidated on updates or deletions.

📬 Asynchronous Messaging

  • Apache Kafka handles asynchronous email dispatch.
  • When a summary needs to be sent, a Kafka producer emits an event.
  • A Kafka consumer listens and triggers the email delivery service.

⏰ Automated Weekly Jobs

  • Weekly mail summaries are triggered through custom cron jobs, not Spring Scheduler.
  • Each cron job produces a Kafka event that initiates the mail-sending workflow.

📧 Email Notifications

  • Users receive weekly summaries of their last seven journal entries.
  • Email sending is asynchronous through Kafka consumers using JavaMailSender.

About

Spring Boot Journal App showcasing MongoDB CRUD APIs, Redis caching, Kafka messaging, cron jobs, and email notifications.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages