Skip to content

iglicoding/aws-cloud-api

Repository files navigation

AWS Cloud API

A cloud-native serverless backend platform built with AWS Lambda, API Gateway, DynamoDB, TypeScript, and AWS SAM.

The project demonstrates how to build scalable REST APIs using a serverless architecture while following modern cloud development practices including Infrastructure as Code, event-driven execution, and automated deployments.


📋 Contents

  • Overview
  • Features
  • Architecture
  • Project Structure
  • Prerequisites
  • Getting Started
  • Local Development
  • Deployment
  • Testing
  • Technologies
  • Resources
  • Author
  • License

☁️ Overview

AWS Cloud API is designed as a lightweight, scalable backend for cloud-native applications.

It leverages AWS managed services to provide secure, highly available APIs while minimizing infrastructure management. The application uses AWS SAM for deployment automation and Infrastructure as Code, making it easy to develop, test, and deploy serverless workloads.


✨ Features

  • REST API with API Gateway
  • AWS Lambda Functions
  • Amazon DynamoDB Integration
  • Infrastructure as Code with AWS SAM
  • Local Development Support
  • Docker-based Build Environment
  • TypeScript Support
  • CloudFormation Deployment
  • Unit Testing
  • Cloud Native Architecture

🏗 Architecture

Client
   │
   ▼
API Gateway
   │
   ▼
AWS Lambda
   │
   ▼
Amazon DynamoDB

The application follows a serverless architecture where API Gateway routes requests to AWS Lambda functions responsible for business logic and data persistence.


📁 Project Structure

├── src
│   └── handlers
├── events
├── __tests__
├── template.yaml
├── package.json
└── README.md

⚙️ Prerequisites

Install the following before running the project:

  • Node.js
  • AWS CLI
  • AWS SAM CLI
  • Docker

🚀 Getting Started

Clone the repository

git clone https://github.com/iglicoding/aws-cloud-api.git

cd aws-cloud-api

Install dependencies

npm install

💻 Local Development

Build the application

sam build

Invoke Lambda locally

sam local invoke putItemFunction --event events/event-post-item.json

sam local invoke getAllItemsFunction --event events/event-get-all-items.json

Run the local API

sam local start-api

The API will be available at

http://localhost:3000

☁️ Deploy to AWS

Deploy using AWS SAM

sam deploy --guided

During deployment configure:

  • Stack Name
  • AWS Region
  • IAM Permissions
  • CloudFormation Capabilities

Once deployed, AWS CloudFormation will output the API Gateway endpoint.


🧪 Testing

Install dependencies

npm install

Run unit tests

npm run test

📊 Technologies

Cloud

  • AWS Lambda
  • API Gateway
  • DynamoDB
  • AWS SAM
  • CloudFormation

Backend

  • Node.js
  • TypeScript

Development

  • Docker
  • Jest
  • ESLint

📚 Resources

Useful documentation:

  • AWS Lambda Documentation
  • AWS SAM Documentation
  • Amazon API Gateway Documentation
  • DynamoDB Documentation
  • CloudFormation Documentation

👨‍💻 Author

Igli Boci

Senior Full-Stack Engineer

Experienced in designing cloud-native applications, enterprise APIs, distributed systems, and scalable backend platforms using AWS, Node.js, TypeScript, NestJS, Docker, PostgreSQL, Redis, and serverless architectures.

GitHub

https://github.com/iglicoding

LinkedIn

https://linkedin.com/in/iglicoding


📄 License

This project is licensed under the MIT License.


⭐ If you found this project useful, consider giving it a star.

About

Cloud-native backend powered by AWS Lambda, API Gateway,NodeJS, DynamoDB, and serverless architecture.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors