In this challenge, you'll build a JavaScript backend service that provides movie data via GraphQL, storing data in DynamoDB.
Please send back by the emailed submission deadline.
Please do not spend more than 4 hours on this challenge. We value your time and understand this constraint will result in a focused implementation.
Create a JavaScript backend service that:
- Provides a GraphQL API for querying popular movies
- Provides GraphQL functionality to fetch detailed movie information
- Stores and retrieves data from DynamoDB
- Implement using Node.js
- Create a local DynamoDB instance
- Design appropriate table schema for movie data
- Design a clear and effective GraphQL Schema
- Query for fetching a list of popular movies
- Query for fetching a specific movie by ID
- Request for creating a new movie
- Request for updating/editing a movie
- Feel free to use any packages that you find helpful
- Given the time constraint, focus on implementing the core features with clean code rather than adding extra functionality
- Include documentation for running locally
Your submission will be evaluated based on:
- Functionality: Does the GraphQL API meet the core requirements?
- Code Quality: Is the code clean, well-organized, and maintainable?
- Architecture: Is there a clear architectural approach?
- Performance: Is the API efficient and well-optimized?
- What is a Global Secondary Index and how might you use it with this API?
- What happens if someone wants to make multiple updates at once?
- What is a scan vs a query?