Skip to content

Modular library for offline-first isomorphic JavaScript applications

License

Notifications You must be signed in to change notification settings

andykswong/mithic

Repository files navigation

mithic

mithic npm docs license: MIT codecov build


Modular library for offline-first isomorphic JavaScript applications


Overview

mithic provides the building blocks for creating offline-first applications, using CQRS architecture with eventsourced CRDTs for storage and data replication. mithic is network agnostic and can be used in traditional client-server, decentralized, or local-only apps. Target use cases include business web apps, collaborative editing, multiplayer gaming, etc.

Documentation

See generated TypeDoc: https://andykswong.github.io/mithic/

Getting Started

To use the library, you can depend on the monorepo:

npm install --save mithic

Or select individual modular packages to use:

npm install --save @mithic/collections @mithic/cqrs @mithic/crdt

For detailed usages, see the following examples:

Packages

Core:

Package NPM Description
@mithic/collections npm Core collection interfaces and implementations
@mithic/commons npm Common utilities
@mithic/cqrs npm CQRS interface
@mithic/crdt npm Eventsourced CRDT library
@mithic/jsonr npm JSON intermediate representation for sandboxed scripting
@mithic/messaging npm Messaging interface

Plugins:

Package NPM Description
@mithic/denokv npm Deno KV adapters
@mithic/ipfs npm IPFS and libp2p adapters
@mithic/level npm abstract-level adapters
@mithic/redis npm Redis adapters

License

This repository and the code inside it is licensed under the MIT License. Read LICENSE for more information.