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

  1. Fork and clone the Sprint Challenge Starter Repository
  2. Follow the setup instructions in the README.md file
  3. Complete the required tasks in the project
  4. Submit your work through the Portal

Resources