ResQMeal
A surplus food rescue engine connecting donors with shelters, built to handle concurrent claims and prevent double-booking.
- Concurrency Control: Implemented JPA Optimistic Locking (
@Version) to eliminate race conditions when multiple shelters claim the same food batch simultaneously. - Stateless JWT Invalidation: Combined stateless JWT with an active database token blacklist for instant logout session revocation.
- Lifecycle Sweeper: Automated background cleanup using Spring
@Scheduledto mark expired batches every 60 seconds.