{"id":37564158,"url":"https://github.com/dfds/component-rfc","last_synced_at":"2026-01-16T09:12:12.842Z","repository":{"id":53541389,"uuid":"280376849","full_name":"dfds/component-rfc","owner":"dfds","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-28T12:09:21.000Z","size":32,"stargazers_count":2,"open_issues_count":2,"forks_count":8,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-17T04:19:44.785Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/dfds.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":"2020-07-17T08:58:05.000Z","updated_at":"2024-04-17T04:19:44.785Z","dependencies_parsed_at":"2023-02-18T05:46:02.461Z","dependency_job_id":null,"html_url":"https://github.com/dfds/component-rfc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dfds/component-rfc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfds%2Fcomponent-rfc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfds%2Fcomponent-rfc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfds%2Fcomponent-rfc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfds%2Fcomponent-rfc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfds","download_url":"https://codeload.github.com/dfds/component-rfc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfds%2Fcomponent-rfc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-16T09:12:12.705Z","updated_at":"2026-01-16T09:12:12.811Z","avatar_url":"https://github.com/dfds.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# component-rfc\nA component RFC is a lightweight way for development teams to get early feedback on component design from other development teams in all DFDS tribes.\nIt can also help other teams to get an overview of what is currently in the pipeline and help identify possiblities for component reuse across DFDS.\n\nA component RFC is not meant to a roadblock for development. Teams should post RFC's as soon as they start thinking about creating a new component, but the team is free to start development, regardles of the the RFC status. They do not have to wait for the RFC to be reviewed or accepted.\n\n## RFC Content\nA component RFC consists of mandatory and optional content:\n### {Service name} RFC\n*Mandatory*\n\n### 1 Abstract\n*Mandatory*\nShort description of the document.\nThis document proposes a component for ...\n\n### 2 Status\n*Mandatory*\nCurrent status of the RFC\ndraft/open/accepted/rejected/superseded\n\n### 3 Component purpose\n*Mandatory*\nDescribes the purpose of the proposed component. What's the reason for exisitence, what functionality will be encapsulated in the component?\n\n### 4 Capability\n#### 4.1 Level 1 \n*Mandatory*\nWhich capability does the proposed component belong to (e.g. TakePayment) \n\n#### 4.2 Level 2\n*Optional*\nIf the component supports only a sub-capability, it can be listed here.\n\n### 5 API\n#### 5.1 Short API description\n*Mandatory*\nShort description of the API that the component will expose. Who's the intended users of the API, what are the primary features of the API\n\n#### 5.2 Contract\n*Optional*\nLink to an OpenAPI specification of the API, if available at this stage.\n\n### 6 Events\n#### 6.1 Events published by the component\n*Mandatory*\nShort description of the domain events published by the component\n\n#### 6.2 Events subscribed to by the component\n*Optional*\nIf the component subscribes to events from other components, these can be listed here.\n\n### 7 Hosting\n*Optional*\nIf there's special things to note around hosting, it can be described here.\n\n### 8 Inner architecture\n*Optional*\nIn case the team wants to get feedback on the intended inner architecture of a component, this can be described here.\n\n\n## Further reading\nHere’s a bit of inspiration from Uber:\nStarting a New Service\nIn a rapidly growing engineering organization, it can be difficult to keep track of all the efforts underway. This kind of growth demands a process to prevent duplicating work across teams. At Uber, we have solved this problem by requiring that authors of new services submit a Request for Comments (RFC), a high-level proposal of the new service that outlines its purpose, architecture, dependencies, and other implementation details for the rest of Uber Engineering to discuss. The RFC serves two purposes: 1) to solicit feedback for improving the service’s quality as it’s developed and 2) to prevent duplicate efforts or expose opportunities for collaboration.\nhttps://eng.uber.com/building-tincup/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfds%2Fcomponent-rfc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfds%2Fcomponent-rfc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfds%2Fcomponent-rfc/lists"}