{"id":18881492,"url":"https://github.com/yatechnologies/platform-challenge","last_synced_at":"2026-02-21T03:30:15.364Z","repository":{"id":164193545,"uuid":"608686642","full_name":"YAtechnologies/platform-challenge","owner":"YAtechnologies","description":null,"archived":false,"fork":false,"pushed_at":"2023-07-20T18:03:13.000Z","size":103,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-12-31T03:27:35.285Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"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/YAtechnologies.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":"2023-03-02T14:33:32.000Z","updated_at":"2024-03-27T03:35:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"8d89ef1a-122b-44b2-8b94-722a4d3bfcef","html_url":"https://github.com/YAtechnologies/platform-challenge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAtechnologies%2Fplatform-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAtechnologies%2Fplatform-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAtechnologies%2Fplatform-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAtechnologies%2Fplatform-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YAtechnologies","download_url":"https://codeload.github.com/YAtechnologies/platform-challenge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239850447,"owners_count":19707348,"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-08T06:49:40.898Z","updated_at":"2025-02-20T13:48:18.082Z","avatar_url":"https://github.com/YAtechnologies.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yassir Platform Engineering Take Home Challenge\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/YAtechnologies/platform-challenge)\n\n**Note**: Do not **fork** this repository. Instead:\n- Clone it locally.\n- Create a new **private** repository on Github and invite your interviewers (Github usernames will be provided to you).\n- We do not accept pull requests.\n\nThis repository acts as a boilerplate to get you started tackling Yassir's platform engineering challenge.\n\nThe stack used here is close to what we use for Infrastructure As Code. Mainly:\n\n- [Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli).\n- [CDK for Terraform](https://developer.hashicorp.com/terraform/tutorials/cdktf/cdktf-install).\n- Typescript as the IaC language of choice.\n- A [monorepo](https://monorepo.tools/) managed with [pnpm](https://pnpm.io/).\n\nOnce you have the above-mentioned tools installed you can run `pnpm install` to install the npm/Typescript dependencies.\n\nFor your convenience, we also provided a `.gitpod.yml` file so you can have an already setup environment on GitPod. Simply click \"Open in Gitpod\" button above.\n\n## About the challenge\nThe challenge is about showcasing your ability to implement and manage infrastructure using code. You'll need to use Hashicups.\n\n[Hashicups](https://registry.terraform.io/providers/hashicorp/hashicups/latest/docs) is a fictional Terraform provider. It does not provision real infrastructure (like AWS or GCP), but instead resources are represented as coffee\norders in a coffee-shop. The idea is to mimic cloud-providers with a simple, fun API, without having to deal with cloud providers registrations, accounts or billing for our candidates.\n\nThe gist of the work is mostly translating the [CRUD operations](https://developer.hashicorp.com/terraform/tutorials/providers/provider-use) from plain Terraform to CDKTF.\n\n\n## The deliverable\nThe final output should be this repository updated with your code, configs and setup. We should be able to:\n- Run `pnpm install` for all required/new dependencies.\n- A way or a command to run Hashicups APIs locally. We recommend using docker compose for that. The GitPod environment already has docker compose installed for you.\n- `README.md` file updated, or a `help` file included on how to provision the infrastructure using Hashicups.\n- Be able to provision the CRUD operation for the coffee-shop. The Infrastructure as Code should go under `packages/iac`.\n- Have at least two different coffee types, [with different ingredients, price and description](https://registry.terraform.io/providers/hashicorp/hashicups/latest/docs/data-sources/coffee). They should be treated as two completely different products for our orders.\n- A way to destroy/cleanup the infrastructure.\n- All using cdktf, not plain terraform (no HCL).\n- Bonus points for using [Constructs](https://developer.hashicorp.com/terraform/cdktf/concepts/constructs) and [CDKTF best practices](https://developer.hashicorp.com/terraform/cdktf/create-and-deploy/best-practices).\n- A simple testing suite that makes sure CDKTF synthesizes the infrastructure correctly.\n\n### Having troubles?\nIf you're encountering any troubles, feel free to send an email to `platform@yassir.com`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyatechnologies%2Fplatform-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyatechnologies%2Fplatform-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyatechnologies%2Fplatform-challenge/lists"}