{"id":50480167,"url":"https://github.com/tux86/my-player-performance-api","last_synced_at":"2026-06-01T17:01:38.805Z","repository":{"id":41398525,"uuid":"509009959","full_name":"tux86/my-player-performance-api","owner":"tux86","description":"A highly available serverless API with Lambda and Node.js","archived":false,"fork":false,"pushed_at":"2022-08-22T13:17:03.000Z","size":533,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-03-09T01:26:36.098Z","etag":null,"topics":["apigateway","lambda","nodejs","rest-api","serverless-framework","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tux86.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-30T09:10:50.000Z","updated_at":"2022-07-03T12:40:07.000Z","dependencies_parsed_at":"2022-09-21T11:42:03.846Z","dependency_job_id":null,"html_url":"https://github.com/tux86/my-player-performance-api","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/tux86/my-player-performance-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tux86%2Fmy-player-performance-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tux86%2Fmy-player-performance-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tux86%2Fmy-player-performance-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tux86%2Fmy-player-performance-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tux86","download_url":"https://codeload.github.com/tux86/my-player-performance-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tux86%2Fmy-player-performance-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33784631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["apigateway","lambda","nodejs","rest-api","serverless-framework","typescript"],"created_at":"2026-06-01T17:01:37.976Z","updated_at":"2026-06-01T17:01:38.798Z","avatar_url":"https://github.com/tux86.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My Player's Performance API\n\nYet another serverless ☁️ API with **Lambda** and **Node.js**\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/9397970/177034576-a2c9c6ee-88bf-4bb4-b25a-9148082623e6.png\" alt=\"Architecture\"/\u003e\n\u003c/p\u003e\n\n## Getting started!\n\nMake sure **node 14.x** and **yarn** are installed.\n\n```shell\n\n$ git clone git@github.com:tux86/my-player-performance-api.git\n$ cd my-player-performance-api\n$ yarn install\n```\n\n## Creating the environment file\n\nInside this project root directory, a template environment file **.env.template** is available for you.\n\nMake a copy of this file to **.env.dev** using cp command as below.\n\n```shell\n$ cp .env.template .env.dev\n```\n\nnow open **.env.dev** using a text editor, the content should look like this : \n\n```dotenv\nAWS_PROFILE=****\nAWS_REGION=eu-west-1\nDEPLOYMENT_BUCKET_NAME_PREFIX=\nENDPOINT_URL=****\nNODE_ENV=development\n```\n\nUpdate the content by setting a value for each the following variables\n\n- **AWS_PROFILE:**  your aws profile name (admin credentials required)\n- **AWS_REGION:**   the aws region (example: eu-west-1)\n- **DEPLOYMENT_BUCKET_NAME_PREFIX:** optional (The default value is the service name). \n\n  ` 🚨 IMPORTANT 🚨 : You should set a prefix if the bucket name is not available because bucket name is unique across all AWS accounts`\n\n- **ENDPOINT_URL:**  the dataset endpoint URL\n\n## Running project locally (offline mode)\n\nUse the following commands inorder to start the project locally.\n\n```shell\n$ yarn build  # build project\n$ yarn start  # start serverless offline mode\n```\n\nOnce started, you will see a message in the console (as shown below) indicating a successful startup\n\n```shell\n   ┌─────────────────────────────────────────────────────────────────────────────────┐\n   │                                                                                 │\n   │   GET | http://127.0.0.1:3000/players                                           │\n   │   POST | http://127.0.0.1:3000/2015-03-31/functions/listPlayers/invocations     │\n   │   GET | http://127.0.0.1:3000/players/{id}                                      │\n   │   POST | http://127.0.0.1:3000/2015-03-31/functions/getPlayerById/invocations   │\n   │                                                                                 │\n   └─────────────────────────────────────────────────────────────────────────────────┘\n\n```\n\n## Running Tests\n\n```shell\n$ yarn test\n```\n\n## Deploy service to AWS cloud\n\nTo make a deployment to AWS cloud, you need to execute the following command:\n\n```shell\n$ yarn sls:deploy\n```\n\nVerify that the deployment completed successfully. You should see the following in the console :\n```shell\n✔ Service deployed to stack my-player-performance-api-dev (32s)\n\nendpoints:\n  GET - https://abcdef1234.execute-api.eu-west-1.amazonaws.com/players\n  GET - https://abcdef1234.execute-api.eu-west-1.amazonaws.com/players/{id}\nfunctions:\n  listPlayers: my-player-performance-api-listPlayers-dev (6.3 MB)\n  getPlayerById: my-player-performance-api-getPlayerById-dev (6.3 MB)\n\nMonitor all your API routes with Serverless Console: run \"serverless --console\"\nDone in 36.32s\n```\n\n## Remove the deployed service\n\n```shell\n$ yarn sls:remove\n```\n\n\n**That's All Folks !** 😉\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftux86%2Fmy-player-performance-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftux86%2Fmy-player-performance-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftux86%2Fmy-player-performance-api/lists"}