Giter Club home page Giter Club logo

rangedb's People

Contributors

pdt256 avatar tomparty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

rangedb's Issues

Postgres store enhancement

I will put a list of all the things I noticed on the Postgres store and that should be changed. I will then start working on that ASAP, create a branch and link a PR to this issue.

  • Add proper error handling

  • Create indexes and constraints for the table

  • Reduce the number of simultaneous connections

  • Handle transactions

Building locally intermittent failing test

Recently started building images locally and occasionally have a test fail

Seems to most freq happen if I remove image/containers and do a fresh build.

Test:

--- FAIL: Test_AggregateType (0.01s)
    --- FAIL: Test_AggregateType/renders_events_by_aggregate_type,_one_record_per_page,_1st_page (0.00s)

Output:


 Error Trace:    ui_test.go:114
                Error:          "\n    <!doctype html>\n    <html class=\"no-js\" lang=\"en\">\n    <head>\n        <meta charset=\"utf-8\"/>\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>\n        <title>thing - RangeDB</title>\n        <link rel=\"icon\" href=\"/static/img/favicon.ico\"/>\n        <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/static/img/favicon.ico\"/>\n        <link rel=\"stylesheet\" href=\"/static/css/foundation-6.5.3.min.css\">\n        <link rel=\"stylesheet\" href=\"/static/css/foundation-icons.css\">\n        <link rel=\"stylesheet\" href=\"/static/css/site.css\">\n        \n    </head>\n    <body>\n    <div id=\"header\" class=\"top-bar\">\n        <div class=\"top-bar-left\">\n            <div class=\"top-bar-title\">\n                <a href=\"/\">\n                    <img src=\"/static/img/rangedb-logo-white-30x30.png\" width=\"30\" height=\"30\" alt=\"RangeDB Logo\"/>\n                    <span>RangeDB</span>\n                </a>\n            </div>\n        </div>\n        <div class=\"top-bar-right\">\n            <ul class=\"menu\">\n                <li><a href=\"/\">Home</a></li>\n                <li><a href=\"/aggregate-types\">Aggregates</a></li>\n            </ul>\n        </div>\n    </div>\n\n    <div id=\"content\">\n        \n    <div class=\"grid-container\">\n        <div class=\"grid-x grid-padding-x\">\n            <div class=\"cell medium-12 medium-order-1\">\n                <h3>\n                    Aggregate Type: thing\n                    <small>(1)</small>\n                </h3>\n                \n<table class=\"records\">\n    <thead>\n    <tr>\n        <th>Event #</th>\n        <th>Event Type</th>\n        <th>Aggregate ID</th>\n        <th>Insert Date</th>\n        <th>Data</th>\n    </tr>\n    </thead>\n    <tbody>\n\n    <tr>\n            <td>0</td>\n            <td>ThingWasDone</td>\n            <td><a href=\"/e/thing/f6b6f8ed682c4b5180f625e53b3c4bac\">f6b6f8ed682c4b5180f625e53b3c4bac</a></td>\n            <td class=\"date\">Mar 28, 2021 02:25:01 UTC</td>\n            <td>{&#34;id&#34;:&#34;f6b6f8ed682c4b5180f625e53b3c4bac&#34;,&#34;number&#34;:0}</td>\n        </tr>\n    \n    </tbody>\n</table>\n\n                \n<nav aria-label=\"Pagination\">\n    <ul class=\"pagination text-center\">\n        \n            <li class=\"pagination-previous disabled\">Previous</li>\n        \n        \n            <li class=\"pagination-next disabled\">Next</li>\n        \n    </ul>\n</nav>\n\n            </div>\n        </div>\n    </div>\n\n    </div>\n\n    <div id=\"footer\" class=\"grid-container\">\n        <div class=\"grid-x grid-padding-x align-center\">\n            <div class=\"cell text-center\">\n                <small>\n                    RangeDB 0.8.1-dev\n                    | <a href=\"https://github.com/inklabs/rangedb\">Documentation</a>\n                    | <a href=\"/api/list-aggregate-types\">API</a>\n                </small>\n            </div>\n        </div>\n    </div>\n\n    </body>\n    </html>\n\n\n\n\n" does not contain "/e/thing?itemsPerPage=1&amp;page=2"
                Test:           Test_AggregateType/renders_events_by_aggregate_type,_one_record_per_page,_1st_page

Deprecate shortuuid.SetRand

Replace shortuuid.SetRand(100) in tests with a UUID generator. This will help with flaky tests that are non-deterministic due to goroutines executing out of order.

Encrypted Store

Add a decorating rangedb.Store that encrypts/decrypts events automatically.

Add gRPC API support

As a RangeDB client, I want to retrieve events via gRPC using protocol buffers; so that my services can efficiently process events.

Implementation Details:

Mirror the same functionality as the HTTP API examples here:
https://github.com/inklabs/rangedb/tree/master/examples

Todo

  • Get All Events
  • Get Events by Aggregate Type(s)
  • Get Events by Stream
  • Save Events
  • Stream All Events
  • Stream Events by Aggregate Type(s)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.