{"id":28925816,"url":"https://github.com/priyam-hub/nodejs-serverless-aws","last_synced_at":"2026-04-29T10:03:06.940Z","repository":{"id":299815030,"uuid":"1001337363","full_name":"priyam-hub/NodeJS-Serverless-AWS","owner":"priyam-hub","description":"This project demonstrates a fully serverless backend application built with Node.js and the Serverless Framework. It provides RESTful APIs to perform CRUD Operations on Users table stored in Amazon DynamoDB. The APIs are deployed using AWS Lambda and API Gateway, making the solution highly scalable, cost-effective, and","archived":false,"fork":false,"pushed_at":"2025-06-18T12:00:16.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-18T13:19:00.668Z","etag":null,"topics":["aws-apigateway","aws-dynamodb","aws-lambda","aws-s3","javascript","nodejs","rest-api","serverless-framework"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/priyam-hub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-13T07:56:57.000Z","updated_at":"2025-06-18T12:00:19.000Z","dependencies_parsed_at":"2025-06-18T13:19:02.108Z","dependency_job_id":"220c5e88-6c75-4492-8331-957ce6d1b250","html_url":"https://github.com/priyam-hub/NodeJS-Serverless-AWS","commit_stats":null,"previous_names":["priyam-hub/nodejs-serverless-aws"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/priyam-hub/NodeJS-Serverless-AWS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyam-hub%2FNodeJS-Serverless-AWS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyam-hub%2FNodeJS-Serverless-AWS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyam-hub%2FNodeJS-Serverless-AWS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyam-hub%2FNodeJS-Serverless-AWS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/priyam-hub","download_url":"https://codeload.github.com/priyam-hub/NodeJS-Serverless-AWS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/priyam-hub%2FNodeJS-Serverless-AWS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261282313,"owners_count":23134942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-apigateway","aws-dynamodb","aws-lambda","aws-s3","javascript","nodejs","rest-api","serverless-framework"],"created_at":"2025-06-22T11:10:44.794Z","updated_at":"2026-04-29T10:03:06.935Z","avatar_url":"https://github.com/priyam-hub.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align = \"center\"\u003e\n  \n# 🛠️ Serverless CRUD API using AWS Lambda, API Gateway \u0026 DynamoDB\n\nThis repository contains a **serverless backend application** built using **Node.js**, **AWS Lambda**, **API Gateway**, and **DynamoDB**. It demonstrates how to implement a scalable and cost-efficient REST API for user management — including **Create**, **Read**, **Update**, and **Delete** (CRUD) operations — using the **Serverless Framework**.\n\n\u003c/div\u003e\n---\n\n## 🚀 Features\n\n* Serverless architecture using AWS Lambda\n* REST API endpoints via API Gateway\n* DynamoDB for persistent NoSQL storage\n* Clean and modular code (Node.js)\n* IAM role-based access control\n* Easily deployable using the Serverless Framework\n\n---\n\n## 📁 Project Structure\n\n```\n├── handler.js           # Lambda function logic for CRUD operations\n├── serverless.yml       # Serverless framework configuration\n├── package.json         # Node.js dependencies\n└── README.md            # Project documentation\n```\n\n---\n\n## 🧩 Technologies Used\n\n* **Node.js** (v18.x)\n* **AWS Lambda**\n* **Amazon API Gateway**\n* **Amazon DynamoDB**\n* **Serverless Framework**\n\n---\n\n## 📦 Installation \u0026 Setup\n\n### Prerequisites\n\n* Node.js installed\n* AWS CLI configured\n* Serverless Framework installed globally\n\n  ```bash\n  npm install -g serverless\n  ```\n\n### Steps\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/your-username/serverless-dynamodb-crud.git\n   cd serverless-dynamodb-crud\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. Deploy to AWS:\n\n   ```bash\n   serverless deploy\n   ```\n\n   After deployment, the terminal will show the endpoint URLs for your APIs.\n\n---\n\n## 📬 API Endpoints\n\n| Method | Endpoint            | Description       |\n| ------ | ------------------- | ----------------- |\n| POST   | `/create-user`      | Create a new user |\n| GET    | `/get-users`        | Get all users     |\n| PUT    | `/update-user/{id}` | Update user by ID |\n| DELETE | `/delete-user/{id}` | Delete user by ID |\n\n**Note:** All requests and responses use `application/json` format.\n\n---\n\n## 📘 Sample Request Body\n\n### POST `/create-user`\n\n```json\n{\n  \"id\": \"123\",\n  \"name\": \"John Doe\",\n  \"email\": \"john@example.com\"\n}\n```\n\n### PUT `/update-user/{id}`\n\n```json\n{\n  \"name\": \"Jane Doe\",\n  \"email\": \"jane@example.com\"\n}\n```\n\n---\n\n## 🛡 IAM Role Requirements\n\nMake sure the Lambda execution role has permission to access DynamoDB:\n\n```yaml\nEffect: Allow\nAction:\n  - dynamodb:PutItem\n  - dynamodb:Scan\n  - dynamodb:UpdateItem\n  - dynamodb:DeleteItem\nResource: arn:aws:dynamodb:\u003cregion\u003e:\u003caccount-id\u003e:table/Users\n```\n\n---\n\n## 🧹 Clean Up\n\nTo remove all resources created:\n\n```bash\nserverless remove\n```\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpriyam-hub%2Fnodejs-serverless-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpriyam-hub%2Fnodejs-serverless-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpriyam-hub%2Fnodejs-serverless-aws/lists"}