{"id":19636918,"url":"https://github.com/quickfixgo/examples","last_synced_at":"2025-04-28T09:31:23.533Z","repository":{"id":16441618,"uuid":"19193275","full_name":"quickfixgo/examples","owner":"quickfixgo","description":"QuickFIX/Go Examples :battery:","archived":false,"fork":false,"pushed_at":"2023-11-15T05:56:20.000Z","size":685,"stargazers_count":140,"open_issues_count":10,"forks_count":51,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-05T08:04:32.762Z","etag":null,"topics":["docker","finance","financial-markets","fixprotocol","quickfix","tradeclient","trading-platform"],"latest_commit_sha":null,"homepage":"https://www.quickfixgo.org/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quickfixgo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2014-04-27T01:51:10.000Z","updated_at":"2025-04-01T13:16:23.000Z","dependencies_parsed_at":"2023-02-14T03:40:32.069Z","dependency_job_id":"23398675-f034-4614-a0c5-a735380c4db8","html_url":"https://github.com/quickfixgo/examples","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quickfixgo%2Fexamples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quickfixgo%2Fexamples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quickfixgo%2Fexamples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quickfixgo%2Fexamples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quickfixgo","download_url":"https://codeload.github.com/quickfixgo/examples/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251284878,"owners_count":21564687,"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":["docker","finance","financial-markets","fixprotocol","quickfix","tradeclient","trading-platform"],"created_at":"2024-11-11T12:32:12.803Z","updated_at":"2025-04-28T09:31:18.524Z","avatar_url":"https://github.com/quickfixgo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QuickFIX/Go Examples\n\n[![Build Status](https://github.com/quickfixgo/examples/workflows/CI/badge.svg)](https://github.com/quickfixgo/examples/actions) [![GoDoc](https://godoc.org/github.com/quickfixgo/examples?status.png)](https://godoc.org/github.com/quickfixgo/examples) [![Go Report Card](https://goreportcard.com/badge/github.com/quickfixgo/examples)](https://goreportcard.com/report/github.com/quickfixgo/examples)\n\n## About\n:wave: Hi! The code in this project showcases common scenarios for FIX applications. The project is structured as an all-in-one cli application that you can easily install on your machine and use it to explore the mechanics behind sending/receiving simple FIX messages. You can also use the cli app as a rudimentary message validator against your own FIX application.\n\nIf you are interested in modifying the examples to suit your own purposes, take a look at the sub-applications descriptions below, navigate to their READMEs to get a better sense of the typical ins and outs of FIX apps, then clone the repo and have at it, otherwise, install the cli app.\n\n* [TradeClient](cmd/tradeclient/README.md) is a simple FIX initiator console-based trading client\n* [Executor](cmd/executor/README.md) is a FIX acceptor service that fills every limit order it receives\n* [OrderMatch](cmd/ordermatch/README.md) is a primitive matching engine and FIX acceptor service\n\nAn initiator service with a web UI for visualizing the quickfix messaging interface can be found in the [trader ui repo](https://github.com/quickfixgo/traderui)\n\nAll examples have been ported from the original [QuickFIX](http://quickfixengine.org)\n\n\n## Usage\nThis project builds a cli tool `qf` with 3 commands corresponding to each example.\nThe generalized usage is of the form:\n```sh\nqf [GLOBAL FLAGS] [COMMAND] [COMMAND FLAGS] [ARGS]\n```\n\nThe examples are meant to be run in pairs- the TradeClient as a client of either the Executor or OrderMatcher. By default, the examples will load the default configurations named after the example apps provided in the `config/` root directory.  \u003ci\u003ei.e.\u003c/i\u003e, running `qf tradeclient` will load the `config/tradeclient.cfg` configuration.  Each example can be run with a custom configuration as a command line argument (`qf tradeclient my_trade_client.cfg`).\n\n\n## Installation\nIn order to use this awesome tool, you'll need to get it on your machine!\n\n### From Homebrew\nIf you're on macOS, the easiest way to get the examples is through the homebrew tap.\n```sh\nbrew tap quickfixgo/qf\nbrew install qf\n```\nRun the command `qf help` in your shell for the list of possible example subcommands.\n\n### From Release\n1. Head over to the official [releases page](https://github.com/quickfixgo/examples/releases)\n2. Determine the appropriate distribution for your operating system (mac | windows | linux)\n3. Download and untar the distribution. Shortcut for macs:\n```sh\ncurl -sL https://github.com/quickfixgo/examples/releases/download/v{VERSION}/qf_{VERSION}_Darwin_x86_64.tar.gz | tar zx\n```\n4. Move the binary into your local `$PATH`.\n5. Run the command `qf help` in your shell for the list of possible example subcommands.\n\n### From Source\nTo build and run the examples, you will first need [Go](https://www.golang.org) installed on your machine\n\nNext, clone this repository with `git clone git@github.com:quickfixgo/examples.git`. This project uses go modules, so you just need to type `make build`. This will compile the examples executable in the `./bin` dir in your local copy of the repo. If this exits with exit status 0, then everything is working! You may need to pull the module deps with `go mod download`.\n```sh\nmake build\n```\nRun the command `./bin/qf help` in your shell for the list of possible example subcommands.\n\n### From Snapcraft\nLinux OS users can install the examples through the snap store.\n```sh\nsudo snap install quickfixgo-qf\n```\nRun the command `qf help` in your shell for the list of possible example subcommands.\n\n### From Scoop\nWindows users can install the examples via the Scoop package manager.\n```sh\nscoop bucket add auth0 https://github.com/auth0/scoop-auth0-cli.git\nscoop install auth0\n```\nRun the command `qf help` in your shell for the list of possible example subcommands.\n\n### Docker Image\nThe quickfix examples are also available as a docker image [here](https://hub.docker.com/r/quickfixgo/qf). To pull and run the `latest`, use the following command:\n```sh\ndocker run -it quickfixgo/qf\n```\nTo run a specific example, you can do something like this:\n```sh\ndocker run -it -p 5001:5001 quickfixgo/qf ordermatch\n```\nNote: The docker image comes pre-loaded with the default configs. If you want to supply your own, you can specify a volume binding to your local directory in the run command.\n\n## Licensing\nThis software is available under the QuickFIX Software License. Please see the [LICENSE](LICENSE) for the terms specified by the QuickFIX Software License.\n\n\u003cbr\u003e\n\u003cimg width=\"208\" alt=\"Sponsored by Connamara\" src=\"https://user-images.githubusercontent.com/3065126/282546730-16220337-4960-48ae-8c2f-760fbaedb135.png\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquickfixgo%2Fexamples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquickfixgo%2Fexamples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquickfixgo%2Fexamples/lists"}