{"id":17444369,"url":"https://github.com/jameskyburz/level-eventstore","last_synced_at":"2025-09-11T23:33:54.549Z","repository":{"id":52413388,"uuid":"86683035","full_name":"JamesKyburz/level-eventstore","owner":"JamesKyburz","description":"eventstore implemented using leveldb-mount, leveldb and level-logs","archived":false,"fork":false,"pushed_at":"2021-04-29T21:33:54.000Z","size":3751,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-19T10:41:40.904Z","etag":null,"topics":["docker","eventlog","eventsourcing","graphql","level-eventstore","leveldb","nodejs"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/JamesKyburz.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":"2017-03-30T09:13:52.000Z","updated_at":"2023-12-08T10:43:35.000Z","dependencies_parsed_at":"2022-09-03T18:10:12.004Z","dependency_job_id":null,"html_url":"https://github.com/JamesKyburz/level-eventstore","commit_stats":null,"previous_names":[],"tags_count":117,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesKyburz%2Flevel-eventstore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesKyburz%2Flevel-eventstore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesKyburz%2Flevel-eventstore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesKyburz%2Flevel-eventstore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesKyburz","download_url":"https://codeload.github.com/JamesKyburz/level-eventstore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232954587,"owners_count":18602151,"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","eventlog","eventsourcing","graphql","level-eventstore","leveldb","nodejs"],"created_at":"2024-10-17T17:19:10.842Z","updated_at":"2025-01-07T23:46:17.126Z","avatar_url":"https://github.com/JamesKyburz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# level-eventstore\n\neventstore using leveldb\n\n[![js-standard-style](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://github.com/feross/standard)\n[![build status](https://api.travis-ci.org/JamesKyburz/level-eventstore.svg)](https://travis-ci.org/JamesKyburz/level-eventstore)\n[![Docker Build Status](https://img.shields.io/docker/build/jameskyburz/level-eventstore.svg)]()\n[![downloads](https://img.shields.io/npm/dm/level-eventstore.svg)](https://npmjs.org/package/level-eventstore)\n[![Docker Pulls](https://img.shields.io/docker/pulls/jameskyburz/level-eventstore.svg)]()\n[![Greenkeeper badge](https://badges.greenkeeper.io/JamesKyburz/level-eventstore.svg)](https://greenkeeper.io/)\n\n# server\n```sh\nnpm start\n```\n\n### Docker\n\nDocker images hosted at https://hub.docker.com/r/jameskyburz/level-eventstore/\n\ndocker pull jameskyburz/level-eventstore:version\n\n# Running in docker\n\n```sh\nᐅ docker pull jameskyburz/level-eventstore:version\nᐅ docker run --rm --name level-eventstore -p 5000:5000 jameskyburz/level-eventstore:version\n```\n\n# example\n\n```js\nconst wsUrl = 'ws://guest:guest@localhost:5000'\nconst httpUrl = 'http://guest:guest@localhost:5000'\nconst client = require('level-eventstore-client')({ wsUrl, httpUrl })\n\nawait client.append({\n  log: 'users',\n  type: 'signup',\n  payload: {\n    email: 'foo@bar'\n  }\n})\n\nawait client.append({\n  log: 'users',\n  type: 'verifyAccount',\n  payload: {\n    id: '38390783-cd60-4190-8b94-a3d4ac24d653'\n  }\n})\n\nconst close = client.handleEvents({ log: 'users', since: 0 })({\n  async signup (payload) {\n    console.log('insert', payload)\n  },\n  async verifyAccount (payload) {\n    console.log('verify', payload)\n  }\n})\n\ninsert { email: 'foo@bar', id: '1def7ce5-9da4-40cc-8594-c739fad36a2b' }\nverify { id: '38390783-cd60-4190-8b94-a3d4ac24d653' }\n\n```\n\nevent handlers can be generators, async functions, or vanilla functions in this case they need an extra `callback` argument.\n\n# license\n\n[Apache License, Version 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjameskyburz%2Flevel-eventstore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjameskyburz%2Flevel-eventstore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjameskyburz%2Flevel-eventstore/lists"}