Sprint Challenge
Challenge Overview
In this sprint challenge, you'll build a Music Playlist Service that combines all the concepts you've learned about DynamoDB and RESTful APIs. This project will test your ability to create, read, update, and delete data in a DynamoDB database through a RESTful API interface.
What You'll Be Building
You'll develop a service that allows users to create and manage music playlists. The service will:
- Store playlist and song data in DynamoDB tables
 - Provide RESTful API endpoints to manage playlists
 - Support creating, retrieving, updating, and deleting playlists
 - Allow adding and removing songs from playlists
 - Handle proper error cases and status codes
 
Skills You'll Demonstrate
- DynamoDB Modeling: Design appropriate data models for playlists and songs
 - Java Annotations: Use DynamoDB annotations to map Java classes to DynamoDB tables
 - Data Access: Implement retrieval of items with partition and sort keys
 - Data Modification: Create and update items in DynamoDB tables
 - RESTful API Design: Create endpoints following REST principles
 - HTTP Methods: Use appropriate HTTP methods for different operations
 - Error Handling: Manage and return proper HTTP status codes
 
Technical Requirements
The project will require you to:
- Implement DynamoDB table creation
 - Create annotated model classes for DynamoDB entities
 - Build data access classes using the DynamoDB Enhanced Client
 - Develop service classes with business logic
 - Create RESTful API controllers
 - Implement proper exception handling
 - Write tests to verify your implementation
 
This challenge will bring together everything you've learned about NoSQL databases and RESTful APIs to create a functional, real-world application. Follow the setup instructions below to get started.
Setup Instructions
- Fork and clone the Sprint Challenge Starter Repository
 - Follow the setup instructions in the README.md file
 - Complete the required tasks in the project
 - Submit your work through the Portal