{"id":19852515,"url":"https://github.com/thesoftwarehouse/tsh-academy-serverless","last_synced_at":"2025-06-26T08:33:17.930Z","repository":{"id":37076147,"uuid":"488868601","full_name":"TheSoftwareHouse/tsh-academy-serverless","owner":"TheSoftwareHouse","description":null,"archived":false,"fork":false,"pushed_at":"2022-09-30T13:35:08.000Z","size":9913,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-06-04T02:21:59.816Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheSoftwareHouse.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}},"created_at":"2022-05-05T07:13:50.000Z","updated_at":"2025-06-03T10:11:34.000Z","dependencies_parsed_at":"2023-01-17T13:31:48.453Z","dependency_job_id":null,"html_url":"https://github.com/TheSoftwareHouse/tsh-academy-serverless","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TheSoftwareHouse/tsh-academy-serverless","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSoftwareHouse%2Ftsh-academy-serverless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSoftwareHouse%2Ftsh-academy-serverless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSoftwareHouse%2Ftsh-academy-serverless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSoftwareHouse%2Ftsh-academy-serverless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheSoftwareHouse","download_url":"https://codeload.github.com/TheSoftwareHouse/tsh-academy-serverless/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSoftwareHouse%2Ftsh-academy-serverless/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262030350,"owners_count":23247633,"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-11-12T14:03:14.372Z","updated_at":"2025-06-26T08:33:17.899Z","avatar_url":"https://github.com/TheSoftwareHouse.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TSH Academy - Serverless Workshops\nGreetings!\nWelcome to TSH Academy workshops. This repository contains the code necessary for following along with the presentation.\nIf by any chance you get lost, we have prepared separate branches with every task, so you can verify your solution or start over.\n\n## What you'll learn\nThe goal of today's workshop is to learn what Step Function are and how they work. We're going to show you how to define\nstate machines and develop business flows by orchestrating Lambda functions into both simple and complex processes.\n\n## Serverless Framework - Development flow\nDuring the workshop, we are going to show you how to effectively work with Serverless Framework and use it to deploy CloudFormation\nstack. We're going to present some methods of development and how it differs from container based development.\n\n### Requirements:\nTo follow along with the presentation please make sure to have installed:\n- brew\n- node.js (\u003e= 14.16.1, \u003c 15.0.0)\n- npm (\u003e= 6.14.12)\n- git\n- AWS CLI\n- AWS Toolkit\n- VS Code\n\n**Resources:**\n- Brew - https://brew.sh/\n- AWS CLI - docs https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html\n- AWS CLI - Brew https://formulae.brew.sh/formula/awscli\n- Node.js - Brew https://formulae.brew.sh/formula/node\n- VS Code - https://code.visualstudio.com/\n- AWS Toolkit for VS Code - https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-toolkit.html\n\n### How to set up\n- checkout onto branch `task/1`: `git checkout task/1`\n- install dependencies by running `npm install`\n- after you've received a `studentXX.csv` from us (if you haven't, scream out loud!) use its contents to:\n  - configure a new profile for executing AWS CLI commands by running `aws configure --profile tsh-workshops` and entering the following it the prompt:\n    - AWS Access Key ID: `\u003cthe Access key ID\u003e`\n    - AWS Secret Access Key: `\u003cthe \"Secret access key\"\u003e`\n    - Default region name: `eu-west-1`\n    - Default output format: the default `None` is fine, just press `Enter`\n  - set environment variables:\n    - run `cp .env.dist .env` \n    - fill in `STUDENT_NAME`: `STUDENT_NAME=\u003cthe \"User name\" from the credentials file\u003e`\n    - fill in `ACCOUNT_ID`: `ACCOUNT_ID=\u003cthe 12-digit number at the start of \"Console login link\" in the credentials file\u003e`\n    - please, leave the other variables as they are, so we can easily identify your resources after you've deployed them on AWS :)\n  - deploy the whole application stack by running `npx sls deploy --aws-profile=tsh-workshops`.\n\nWhen deployed successfully, you will see the deployed step function in [AWS Console](https://eu-west-1.console.aws.amazon.com/states/home?region=eu-west-1#/statemachines):\n  * Log in, using the `User name` and `Password` we sent you. \n  * You will then be asked to change your password upon your first login.\n  * In the list of AWS services, find Step Functions and look for one with your username in it.\n\nWith the environment set up, you can proceed to [your first task](tasks/task-1.md)!\n\n\n### **About us:**\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://tsh.io/pl\"\u003e\u003cb\u003eThe Software House\u003c/b\u003e\u003c/a\u003e\n  \u0026emsp;\n  \u003cimg src=\"data/tsh.png\" alt=\"tsh.png\" width=\"50\" /\u003e\n\u003c/p\u003e\n\n##\n\n### License\n\n[![license](https://img.shields.io/badge/license-MIT-4dc71f.svg)](https://raw.githubusercontent.com/TheSoftwareHouse/serverless-boilerplate/main/LICENSE)\n\nThis project is licensed under the terms of the [MIT license](/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthesoftwarehouse%2Ftsh-academy-serverless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthesoftwarehouse%2Ftsh-academy-serverless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthesoftwarehouse%2Ftsh-academy-serverless/lists"}