The initial release covering the core required functionality:
- Implement base schema with
internalId
,createdAt
, andupdatedAt
- Extend base schema for
Track
to include:title
: Name of the tracktype
: Genre of trackexternalId
: Identifier from the Music STory APIisrc
: Internation Standard Recording Codelength
: Duration of the track in secondsproductionDate
: Date track was producedupdateDate
: Date track was updatedcreationDate
: Date track was created in external API
- When searching for a track by name, if it doesn't exist in DB, fetch it from API and insert into DB then return results
- Include error handling and HTTP status codes for the GraphQL API
- Use TypeScript for type safety and type definitions for the application
- Write at least two tests for any of the features
- Dockerfile or docker-compose file is a plus, otherwise provide comprehensive setup documentation
- Serve everything from a single endpoint
Feature Spec
- Allow users to sign up for an account
- Allow users to login to their account
- Allow users to fetch all available tracks
- Allow users to fetch track by
name
- Allow users to fetch track by
internalId
- Allow users to create new track if they don't already exist
- Allow users to update a track by
internalId
- Allow users to delete a track by
internalId