This project is a serverless REST API developed using the AWS Cloud Development Kit (CDK). The application allows users to manage a video games database where they can add, update, delete, and retrieve game data. The API leverages Amazon Cognito for user authentication, IAM for authorization, AWS Lambda for backend processing, API Gateway to manage HTTP requests, Amazon DynamoDB for data storage, and Amazon Translate to support multilingual functionality.
- AWS Serverless Infrastructure
- User Authentication with Amazon Cognito & Cookie-based:
- Authorization
- Amazon Translate
- CRUD operations
- Users Table: User profile information is stored.
- Games Table: Stores details of each game.
- Translations Table: Stores translated text for game attributes to reduce redundant translation requests.
Retrieves all games in the database. (all user access)
Retrieves games based on specific query parameters like user, genre, and popularity. (all user access)
Allows an authenticated user to create a new game. (authenticated user access)
Allows authenticated users to update a game they created. (authenticated user access)
Allows an authenticated user to delete a game they created. (authenticated user access)
Retrieves profile information for a specified username. (all user access)
Allows a user to create a profile in the system. (authenticated user access)
Allows an authenticated user to delete their profile. (authenticated user access)
Translates the genre, title, and description of a specified game to a target language and returns it. (all user access)
- Clone the repository git clone "url" cd "url-repo-name"
- npm install
- cdk deploy
The cdk.json file tells the CDK Toolkit how to execute your app.
npm run buildcompile typescript to jsnpm run watchwatch for changes and compilenpm run testperform the jest unit testscdk deploydeploy this stack to your default AWS account/regioncdk diffcompare deployed stack with current statecdk synthemits the synthesized CloudFormation template