{"id":22726051,"url":"https://github.com/superwalnut/covid19-dashboard-angular9-aws-lambda","last_synced_at":"2025-07-14T18:40:01.137Z","repository":{"id":38482751,"uuid":"259557616","full_name":"superwalnut/covid19-dashboard-angular9-aws-lambda","owner":"superwalnut","description":"I have created a COVID-19 dashboard using Angular + AWS Lambda + Serverless","archived":false,"fork":false,"pushed_at":"2023-10-11T06:55:15.000Z","size":3179,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-26T22:43:40.647Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/superwalnut.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-28T07:00:17.000Z","updated_at":"2021-10-12T02:15:57.000Z","dependencies_parsed_at":"2025-02-05T01:31:12.387Z","dependency_job_id":"0388e92a-bb59-4f7f-a20a-4013443e3d2c","html_url":"https://github.com/superwalnut/covid19-dashboard-angular9-aws-lambda","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/superwalnut/covid19-dashboard-angular9-aws-lambda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superwalnut%2Fcovid19-dashboard-angular9-aws-lambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superwalnut%2Fcovid19-dashboard-angular9-aws-lambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superwalnut%2Fcovid19-dashboard-angular9-aws-lambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superwalnut%2Fcovid19-dashboard-angular9-aws-lambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/superwalnut","download_url":"https://codeload.github.com/superwalnut/covid19-dashboard-angular9-aws-lambda/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superwalnut%2Fcovid19-dashboard-angular9-aws-lambda/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265333993,"owners_count":23748920,"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":[],"created_at":"2024-12-10T16:15:34.953Z","updated_at":"2025-07-14T18:40:01.115Z","avatar_url":"https://github.com/superwalnut.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Full article read https://medium.com/@mrkevin.wang/create-a-covid-19-dashboard-with-angular-9-serverless-aws-lambda-a40b4b096bd5\n\n## This is a real-world serverless angular project deployed with aws lamdba for free\n\nI have created a COVID-19 dashboard using Angular 9 and demostrate how to deploy it to AWS Lambda using serverless.\n\n###Prerequisites\n\nThe project requires you to have these packages installed on your system, please follow the instructions to install them.\n\n[Node 12](https://nodejs.org/en/download)\n\n[Angular CLI](https://cli.angular.io/)\n\n[AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)\n\n\nPart 1 - Build an angular app\n------\n\nWe start with creating the angular project by using angular cli named 'angular-app'.\n\n```bash\nng new angular-app --style=scss --routing=true --inlineStyle=false\n```\n\nYou can start the application by `ng serve` and test it in browser [http://localhost:4200/](http://localhost:4200/).\n\nJust `cd` into the project folder /angular-app, and we need to install a few npm packages that we needed as dependencies for this project.\n\n```bash\n# add sass\nnpm i --save node-sass\n\n# add bootstrap\nng add @ng-bootstrap/ng-bootstrap\n\n# install chartjs\nnpm i --save chart.js\n\nnpm i --save @types/chart.js\n\n```\n\nPart 2 - Configure serverless and deploy to aws \n-----\n\nFirst we need to setup an AWS account and obtain the programmatic access. After you have obtained the Access_Key \u0026 Access_Secret, keep them somewhere safe and you will need them for lambda deployment. \n\nThen install the serverless package and configure it with your AWS access_key and access_secret.\n\n```\n\n# install serverless\nnpm install -g serverless\n\n# configure serverless with aws credentials\nserverless config credentials --provider aws --key \u003cACCESS_KEY\u003e --secret \u003cACCESS_SECRET\u003e\n\n# enable us to convert the angular application into one that supports server-side rendering\nng add @ng-toolkit/universal\n\nnpm i --save express\n\nnpm i --save aws-serverless-express\n\n# adding aws as the provider\nng add @ng-toolkit/serverless --provider aws\n\nnpm i --save-dev serverless-api-compression\n\n\n# deploy\nnpm run build:serverless:deploy\n```\n\nPart 3 - Configure dns and domain\n------\n\n- Register domain \n\n\n- Configure dns\n\n\n- SSL\n```\n\n//aws acm certificate-validated --certificate-arn arn:aws:acm:us-west-2:294202928772:certificate/ee9db60b-ea57-42a8-b5ef-37fc9eb2add8\n\nCERTIFICATE_ARN=\"$(aws acm request-certificate --domain-name asin.pro --validation-method DNS --subject-alternative-names *.asin.pro | jq -r '.CertificateArn')\" \n\nVALIDATION_CNAME=\"$(aws acm describe-certificate --certificate-arn $CERTIFICATE_ARN | jq -r '.Certificate.DomainValidationOptions[0].ResourceRecord.Name')\"  \n\nVALIDATION_VALUE=\"$(aws acm describe-certificate --certificate-arn $CERTIFICATE_ARN | jq -r '.Certificate.DomainValidationOptions[0].ResourceRecord.Value')\" \n\necho create a CNAME entry at your DNS provider - CNAME: $VALIDATION_CNAME with VALUE : $VALIDATION_VALUE\n\n# validate\naws acm certificate-validated --certificate-arn $CERTIFICATE_ARN\n\n\naws apigateway create-domain-name --domain-name 'asin.pro' --endpoint-configuration \"{ \\\"types\\\": [\\\"REGIONAL\\\"] }\" --regional-certificate-arn $CERTIFICATE_ARN\n\naws apigateway get-rest-api --rest-api-id z20smy4uaj \u003cAPI_GATEWAY_ID\u003e \n\naws apigateway create-base-path-mapping --domain-name 'asin.pro' --base-path '(none)' --stage 'production' --rest-api-id z20smy4uaj\n\n```\n\n- Set custom domain for api gateway\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperwalnut%2Fcovid19-dashboard-angular9-aws-lambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuperwalnut%2Fcovid19-dashboard-angular9-aws-lambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperwalnut%2Fcovid19-dashboard-angular9-aws-lambda/lists"}