Sprint Challenge

Challenge Overview

Test your knowledge and skills with this comprehensive assessment covering Optionals, Streams, JSON Serialization, and DynamoDB Scan operations.

The Sprint Challenge is a hands-on project where you'll build an Advertising Service for an e-commerce platform. You'll implement functionality to manage advertisements, apply targeting rules using Streams and Optionals, serialize data to JSON format, and use DynamoDB scans to retrieve and filter advertisements based on specific criteria.

Challenge Instructions

Task 1: Optional Implementation

You'll implement methods that use Optional to handle nullable advertisement targeting data. This will demonstrate your understanding of when and how to use Optionals to make your code more robust and avoid null pointer exceptions.

Task 2: Stream Operations

You'll use Java Streams to filter and transform collections of advertisements based on complex criteria. This task tests your ability to chain stream operations and use terminal operations effectively.

Task 3: JSON Serialization

You'll implement serialization and deserialization of advertisement data to and from JSON format. This will demonstrate your understanding of Jackson annotations and handling complex object structures.

Task 4: DynamoDB Scan Operations

You'll implement DynamoDB scan operations with filters to retrieve advertisements matching specific criteria. This will test your ability to create efficient scan expressions and handle pagination for large result sets.

Challenge Steps

  1. Fork the starter repository linked in the resources section
  2. Complete all tasks described in the README.md file
  3. Implement the required functionality using Optionals, Streams, and JSON Serialization
  4. Create efficient DynamoDB Scan operations for the required queries
  5. Submit your solution through the Portal by the deadline

Resources