Key highlights
- Built stock movement endpoints with idempotent update behavior.
- Applied optimistic locking to prevent race conditions on concurrent stock updates.
- Prepared Docker-based local environment for faster team setup.
CRUD domain with Hibernate, optimistic locking, and integration tests. Docker Compose for local parity with production-like databases.