/AWSAnimalCrossing

Animal Crossing: New Horizons REST API built on AWS with Terraform.

Primary LanguageHCLMIT LicenseMIT

AWSAnimalCrossing

AWSAnimalCrossing

AWSAnimalCrossing is a project that utilizes Amazon Web Services and Terraform to offer access to Animal Crossing: New Horizons game data. It effectively combines various Amazon services, such as API Gateway, Cognito, DynamoDB, Simple Storage Service (S3), Step Functions, and Lambda functions, to facilitate the storage and retrieval of data. The integration of Terraform allows for the seamless creation of these AWS resources to support the project.

Introduction

Animal Crossing: New Horizons is a popular life simulation game where players can build and customize their own virtual island, interact with anthropomorphic animal characters, and engage in various activities. AWSAnimalCrossing expands the experience by providing resources that allows users to access and manage related game data using AWS services.

Purpose

This repository serves as a starting point for developers who want to explore the integration of AWS services with Animal Crossing: New Horizons. By leveraging Terraform, the project provides infrastructure-as-code for deploying and managing the necessary AWS resources needed to store and access the prepared data.

Features

Isabelle Infrastructure as Code (IAC): The project is built on Terraform, enabling a smooth and automated creation of all the necessary resources required for its development.
Tom REST API: To facilitate programmatic access and interaction with Animal Crossing: New Horizons data, the project incorporates API Gateway.
Orville Data storage: The project leverages the robust DynamoDB as a scalable and dependable database solution, boasting low cost and latency.
DaisyMae State machine: The project uses Step Functions to efficiently orchestrate and automate workflows, ensuring seamless data processing and synchronization across API Gateway and DynamoDB.
KK Lambda functions: Lambda functions play a key role in handling API requests, executing API logic, and facilitating smooth interactions with other AWS services.
Copper User management: For comprehensive user management and granular permissions across the REST API, the project utilizes Cognito.

Requirements

To use AWSAnimalCrossing, you need the following:

  • An active AWS account with appropriate permissions to create and manage the required resources.
  • Basic knowledge of AWS services, Terraform, and programming concepts.

Installation

  1. Clone this repository to your local machine using the following command:
git clone https://github.com/lindsaygelle/AWSAnimalCrossing.git
  1. Install Terraform by following the official installation instructions.

  2. Set up your AWS credentials on your local machine or the environment where you plan to run Terraform. Refer to the AWS documentation for instructions on setting up AWS credentials.

  3. Navigate to the cloned repository:

cd AWSAnimalCrossing
  1. Initialize Terraform by running:
terraform init
  1. Deploy the infrastructure by executing:
terraform apply
  1. Review the planned changes and confirm the deployment when prompted.

After the deployment is complete, Terraform will output the API Gateway endpoint URL. Make note of this URL as it will be used to access the REST API.

Usage

The REST API provided by AWSAnimalCrossing allows you to interact with Animal Crossing: New Horizons data. The API supports various operations, such as retrieving information, querying villagers, furniture, clothing and inventory items.

To use the API, send HTTP requests to the API Gateway endpoint using tools like cURL, Postman, or your preferred programming language. Refer to the API documentation for information on available endpoints and request/response formats.

Before making requests, ensure that you have the necessary authorization credentials and the required parameters for each API call. These details will be provided by AWS Cognito.

Contributing

Contributions to AWSAnimalCrossing are welcome! If you have any ideas, bug reports, or enhancements, please submit them as GitHub issues or create a pull request with your changes. For major contributions, it is recommended to discuss your ideas first by creating an issue to ensure alignment with the project's goals and direction. Please see the CONTRIBUTION file fore more details.

License

AWSAnimalCrossing is licensed under the MIT License. Feel free to use, modify, and distribute the code within this repository as per the terms of the license. Please see the LICENSE file for more details.