{"id":17781645,"url":"https://github.com/ericbutera/amalgam","last_synced_at":"2026-04-11T17:42:55.258Z","repository":{"id":257823975,"uuid":"870365576","full_name":"ericbutera/amalgam","owner":"ericbutera","description":"Tech demo featuring microservices, golang, orchestration and observability","archived":false,"fork":false,"pushed_at":"2024-10-24T21:52:00.000Z","size":4866,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-24T22:22:54.964Z","etag":null,"topics":["devx","golang","graphql","grpc","k6","lgtm","microservices","mysql","nextjs","observability","orchestration","tilt"],"latest_commit_sha":null,"homepage":"","language":"Go","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/ericbutera.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":"2024-10-09T22:58:24.000Z","updated_at":"2024-10-24T19:45:08.000Z","dependencies_parsed_at":"2024-10-26T02:19:28.351Z","dependency_job_id":null,"html_url":"https://github.com/ericbutera/amalgam","commit_stats":null,"previous_names":["ericbutera/amalgam"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericbutera%2Famalgam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericbutera%2Famalgam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericbutera%2Famalgam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericbutera%2Famalgam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericbutera","download_url":"https://codeload.github.com/ericbutera/amalgam/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246706025,"owners_count":20820783,"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":["devx","golang","graphql","grpc","k6","lgtm","microservices","mysql","nextjs","observability","orchestration","tilt"],"created_at":"2024-10-27T04:03:52.275Z","updated_at":"2025-10-16T22:29:08.090Z","avatar_url":"https://github.com/ericbutera.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amalgam\n\nTech demo of a modern web application stack.\n\n## Goals\n\n- Developer Experience: Spin up the entire stack with a single command.\n- Local-First Development: Everything runs locally for true production parity—no surprises.\n- Integrated Observability: Built-in o11y from the start, not an afterthought.\n\n## Technologies\n\n- Kubernetes: The backbone for modern orchestration.\n- GraphQL: A powerful API layer for flexible, efficient data fetching.\n- Golang: Performance and simplicity at scale.\n- Temporal: Resilient workflows made easy.\n- Grafana LGTM Stack: Observe, debug, and improve with confidence.\n- Next.js + TypeScript: A delightful developer experience for building blazing-fast, modern UIs.\n- MySQL: The trusted relational database powering countless applications.\n\n## Prerequisites\n\nInstall the required prerequisites:\n\n1. [docker](https://docs.docker.com/get-docker/) or [orbstack](https://www.orbstack.com/)\n2. [asdf-vm](https://asdf-vm.com/)\n\nRun `asdf install` to install additional required tools.\n\nOne caveat is that you may need to add individual asdf [plugins](https://asdf-vm.com/manage/plugins.html). Due to security reasons, asdf doesn't provide a native way to automatically add missing plugins during install. If you are comfortable with the tools listed in [.tool-versions](./.tool-versions), you can run the following command: `cut -d' ' -f1 .tool-versions | xargs -I {} asdf plugin add {}`, then `asdf install`. You can verify the plugins are installed by running `asdf plugin list`.\n\n## Run\n\n```sh\ntilt up\n# open tilt ui @ http://localhost:10350\n```\n\n## Development\n\n[Development](./docs/development.md) contains an overview of how to develop the various components of the application.\n\n## Architecture\n\n[Architecture](./docs/architecture.md) contains an overview of how to convert a project from a monolith to a microservices architecture.\n\n## Code Generation\n\nOne of the major goals of this project is to show how to quickly build integrations. Part of that is utilizing code generation to lower the amount of code that needs to be written and maintained. More information can be found in the [Code Generation](./docs/code-generation.md) document.\n\n## Testing\n\n[Testing](./docs/testing.md) contains an overview of how to test the various components of the application.\n\n## CI/CD\n\nGithub Actions can be found in the [.github/workflows](./.github/workflows) directory. You can run them locally using [act](https://github.com/nektos/act).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericbutera%2Famalgam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericbutera%2Famalgam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericbutera%2Famalgam/lists"}