A matchmaking system for labor platforms.
Table of Contents
Open Marketplace Engine (OME) will provide matching and marketplace services to labor platforms such as rideshare services. OME integrates with other components of a gig labor platform to track and store realtime data such as worker location pings and incoming job requests. The service routes jobs to available workers and serves as a source of truth for the job state machine.
OME is designed to do the heavy lifting of a labor platform, including providing geography services for e.g. rider/driver matching. OME is not intended to provide an entire labor platform; features like user models, authentication, and user-facing interfaces are non-goals.
OME is being developed for use in the rideshare platform developed by The Drivers Cooperative. If you are interested in adopting OME in your platform, please get in touch.
As of January 2022, OME has begun active development. Tentative milestones include:
- Milestone 1: Worker status & pings
- Milestone 2: Point-to-point job tracking and assignment
- Milestone 3: Persistence
- Milestone 4: Basic geographic model
- Milestone 5: Basic dispatch
Dependencies can be launched using docker-compose
:
$ docker-compose up
You can run the OME service itself with:
OME_PGDB_ADDR=postgres://postgres:$(whoami)@localhost:5432/$(whoami) go run main.go
Run make
to list all make tasks.
$ make
echo-env Echo environment variables
clean Clean
nuke Clean with -modcache
build Build binary
checkstyle Run quick checkstyle (govet + goimports (fail on errors))
test Run tests
test-cover Run tests with -covermode
test-race Run tests with -race
test-bench Run tests with -bench
Coming soon
export OME_SERVICE_PORT='10000'
export OME_REDIS_STORE_HOST='localhost:6379'
export OME_REDIS_STORE_USERNAME=default
export OME_REDIS_STORE_PASSWORD=secret
OME will publish a gRPC API for updating worker and job states. The API is under development.
OME will be available as a container image. Track the issue
Contributions are welcome! Please communicate actively on the projects board before beginning work, as most coordination is currently being done in sidechannels.
Coming soon: Contributor guidelines, code of conduct, and CLA
Assigning a license to the OME source is currently a work-in-progress. Inspiration is being taken from the CoopyLeft License and the Business Source License.
To get in touch with the OME team, you can:
As the project picks up we will consider a Discord/Slack setup as well.
OME is being developed and funded by The Drivers Cooperative, a driver-owned rideshare cooperative in New York City, USA. You can donate to the operations of the cooperative here.