{"id":18485493,"url":"https://github.com/system76/bottle","last_synced_at":"2025-04-08T19:32:43.480Z","repository":{"id":45345560,"uuid":"290573876","full_name":"system76/bottle","owner":"system76","description":"Protobuf messages in a bottle","archived":false,"fork":false,"pushed_at":"2025-02-14T19:49:58.000Z","size":357,"stargazers_count":10,"open_issues_count":6,"forks_count":6,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-23T17:45:49.752Z","etag":null,"topics":["continous-delivery","elixir","event-driven","event-sourcing","protobuf","protobuf-messages"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/system76.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-26T18:25:42.000Z","updated_at":"2024-12-22T13:40:38.000Z","dependencies_parsed_at":"2024-11-06T12:50:49.966Z","dependency_job_id":"814d9641-3e6c-46ab-a46f-ecb72d5020b0","html_url":"https://github.com/system76/bottle","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/system76%2Fbottle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/system76%2Fbottle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/system76%2Fbottle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/system76%2Fbottle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/system76","download_url":"https://codeload.github.com/system76/bottle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247912771,"owners_count":21017044,"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":["continous-delivery","elixir","event-driven","event-sourcing","protobuf","protobuf-messages"],"created_at":"2024-11-06T12:45:26.125Z","updated_at":"2025-04-08T19:32:43.204Z","avatar_url":"https://github.com/system76.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bottle\n\nProtobuf messages in a bottle.\n\nThis repository contains a `master` branch of protobuf files, and branches for\ndifferent languages we use them in.\n\n## Installation\n\n### Elixir\n\n```elixir\ndef deps do\n  [\n    {:bottle, github: \"system76/bottle\", branch: \"elixir\"}\n  ]\nend\n```\n\n## Developing\n\n### Patterns\n\n- ID - When using an ID in a message, we will use a nested record instead. For example, if you wanted to pass an ID\nfor an order, we would use `order: %Order{id: \"1234\"}` instead of `order_id: \"1234\"`.\n\n- Date \u0026 Time - We use string fields to represent ISO 8601 formatted date and time fields. This is built into most\nlanguages by default, and if you are using elixir, you can simply use `DateTime.to_iso8601/1`.\n\n### Deploying\n\nTo change a schema, simply open a PR to `master`. Once approved and merged,\nCI/CD will do the heavy lifting and compile them to each language and push to\nrespective branch.\n\nIf you have a change to make for a language, open a PR to that branch instead.\nCI will check to make sure it works, then on merge will start the publish\nprocess described above.\n\n## Backwards Compatibility\n\nAt this time everything is linked to a git branch, meaning we have no tag or\ncommit to attach to. Any breaking change you make to a protobuf will be used\nimmediately on next deploy of what ever project uses it. Please keep this in\nmind when making changes.\n\n## License\n\nThis project is licensed under GPL-3.0. See [LICENSE](LICENSE) for more\ninformation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystem76%2Fbottle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsystem76%2Fbottle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystem76%2Fbottle/lists"}